#Ejercicio 1
""" Se quiere hacer un programa para pedirle al usuario que ingrese un número entero, y en caso de que el valor ingresado no sea un número entero, mostrarle un mensaje apropiado.
a. Realizarlo utilizando isnumeric(). ¿Qué limitaciones encuentra?
b. Realizarlo utilizando try/ except."""
#a)
a= input("Ingrese un entero: ")
while not a.isnumeric():
print("No ingreso un entero. Por favor intentelo nuevamente.")
a= input("Ingrese un entero: ")
print(f"EL numero entero que ha ingresado es {int(a)}")
"""isnumeric() no detecta enteros negativos."""
#b)
a = ""
while type(a)!=int:
try:
a= int(input("Ingrese un entero: "))
print(f"Ingreso el numero {a}. Muchas Gracias.")
except:
print("No ingreso un entero. Por favor intentelo nuevamente.")
#Ejercicio 2
"""Crear una función, utilizando el punto anterior, que le pida al usuario un número entero. Utilizarla para
calcular el producto entre dos números enteros ingresados."""
def multiplicar():
numero_1 = ""
while type(numero_1)!=int:
try:
numero_1= int(input("Ingrese un primer entero: "))
except:
print("No ingreso un entero. Por favor intentelo nuevamente.")
numero_2 = ""
while type(numero_2)!=int:
try:
numero_2= int(input("Ingrese un segundo entero: "))
except:
print("No ingreso un entero. Por favor intentelo nuevamente.")
return numero_1*numero_2
print("La multiplicacion de los dos numeros ingresados es", multiplicar())
#Ejercicio 3
"""Se quiere hacer un programa que le solicite al usuario un número divisor y un dividendo, y calcule el
cociente entre ellos.
AYUDA: Considerar que el usuario podría brindar un valor no numérico o un divisor nulo."""
dividendo = ""
divisor = ""
condicion = True
while condicion:
try:
dividendo = float(input("Ingrese un dividendo: "))
divisor = float(input("Ingrese un divisor: "))
print(f"El cociente de los dos numeros es {dividendo / divisor}")
condicion = False
except:
if divisor == 0:
divisor = ""
print("No se puede dividir por 0. Intentelo nuevamente.")
else:
print("No ingreso numeros. Por favor intente nuevamente.")
#Ejercicio 4
"""Crear un programa para abrir un archivo llamado “file.txt” en modo lectura y en caso de que este
archivo no exista, mostrar el mensaje “No se pudo encontrar el archivo file.txt”."""
try:
archivo_lectura = open("file.txt", "r")
lista_de_las_lineas = archivo_lectura.readlines()
print(lista_de_las_lineas)
except:
print("No se pudo encontrar el archivo file.txt")
#Ejercicio 5
"""Crear una función cuyos parámetros sean una lista y un índice de posición para mostrar el valor de la
lista en esa ubicación.
a. ¿Qué ocurre si ingreso un índice que se encuentra fuera del rango?
b. Si el valor del índice ingresado se encuentra dentro del rango, mostrar el valor. En caso
contrario, mostrar un mensaje apropiado para dicho error."""
#a)
"""
def mostrar_elemento(lista, indice):
print(lista[indice])
l = [1 , "pelota", (5,3)]
mostrar_elemento(l,10)
Un codigo como el escrito daria un IndexError: list index out of range"""
#b)
def mostrar_elemento(lista, indice):
try:
print(lista[indice])
except:
print("Ha ingresado un indice mas grande que el tamaño de la lista por lo que no hay un elemento para mostrar.")
l = [1 , "pelota", (5,3)]
mostrar_elemento(l,10)
#Ejercicio 6
"""Para jugar al chinchón con un único mazo de cartas españolas, el número de jugadores puede ser: dos,
tres o cuatro. Crear una función que pida al usuario informar el número de jugadores, considerando
que este puede ingresar:
● un valor no válido, por ejemplo, una palabra.
● un valor menor a 2, en en cuyo caso, mostrar el mensaje "Debe haber al menos 2 jugadores."
● un valor mayor a 4, en cuyo caso, mostrar el mensaje "Se puede jugar con un máximo de 4
jugadores."
● un valor válido, en cuyo caso, mostrarlo."""
def solicitar_cantidad_de_jugadores():
cantidad_de_jugadores = 0
while (cantidad_de_jugadores < 2) or (cantidad_de_jugadores > 4) or (type(cantidad_de_jugadores) != int):
try:
cantidad_de_jugadores = int(input("Ingrese la cantidad de jugadores para la partida de chinchon: "))
if cantidad_de_jugadores < 2:
print("Debe haber al menos 2 jugadores. Vuelva a ingresar la cantidad de jugadores.")
elif cantidad_de_jugadores > 4:
print("Se puede jugar con un máximo de 4 jugadores. Vuelva a ingresar la cantidad de jugadores.")
else:
print(f"Ha seleccionado {cantidad_de_jugadores} jugadores")
except:
print("Debe ingresar un numero entero.")
solicitar_cantidad_de_jugadores()
#Ejercicio 7
"""Para jugar al truco con un único mazo de cartas españolas, el número de jugadores puede ser: dos,
cuatro o seis. Crear una función que pida al usuario informar el número de jugadores, considerando
que este puede ingresar:
● un valor no válido, por ejemplo, una palabra.
● un valor menor a 2, en en cuyo caso, mostrar el mensaje "Debe haber al menos 2 jugadores."
● un valor mayor a 6, en cuyo caso, mostrar el mensaje "Se puede jugar con un máximo de 6
jugadores.".
● un valor impar, como 3 y 5, en cuyo caso, mostrar el mensaje "Debe haber un número par de
jugadores.".
● un valor válido, en cuyo caso, mostrarlo."""
def solicitar_cantidad_de_jugadores():
cantidad_de_jugadores = 0
while (cantidad_de_jugadores < 2) or (cantidad_de_jugadores > 6) or (type(cantidad_de_jugadores) != int) or (cantidad_de_jugadores %2 != 0):
try:
cantidad_de_jugadores = int(input("Ingrese la cantidad de jugadores para la partida de truco: "))
if cantidad_de_jugadores < 2:
print("Debe haber al menos 2 jugadores. Vuelva a ingresar la cantidad de jugadores.")
elif cantidad_de_jugadores > 6:
print("Se puede jugar con un máximo de 6 jugadores. Vuelva a ingresar la cantidad de jugadores.")
elif cantidad_de_jugadores %2 != 0:
print("Debe haber un numero par de jugadores. Vuelva a ingresar la cantidad de jugadores.")
else:
print(f"Ha seleccionado {cantidad_de_jugadores} jugadores")
except:
print("Debe ingresar un numero entero.")
solicitar_cantidad_de_jugadores()
#Ejercicio 8
"""El kiosko de la facultad quiere automatizar un letrero que tome datos de un programa y le cobre al estudiante.
Se tienen dos diccionarios, uno con un código y el producto, y otro con el código y el precio de cada producto.
Ejemplo:
opciones = {
1: "hamburguesas",
2: "milanesas",
3: "gaseosa",
4: "alfajor",
5: "papas fritas",
6: "agua"
}
valores = {
1:1000,
2:1500,
3:500,
4:300,
5:600,
6:350
}
Se quiere hacer un programa que muestre la información de la siguiente forma en la pantalla:
1: hamburguesas -> 1000
2: milanesas -> 1500
3: gaseosa -> 500
4: alfajor -> 300
5: papas fritas -> 600
6: agua -> 350
Y le pida al usuario una opción y una cantidad. Luego, debe imprimir el total a pagar.
Se debe considerar que el usuario podría ingresar una opción que no está en el diccionario, o ingresar
una opción que no sea un número. El usuario debe en esos casos imprimir un mensaje de error que sea
descriptivo y volver a pedirle al usuario que ingrese una opción."""
opciones = {
1: "hamburguesas",
2: "milanesas",
3: "gaseosa",
4: "alfajor",
5: "papas fritas",
6: "agua"
}
valores = {
1:1000,
2:1500,
3:500,
4:300,
5:600,
6:350
}
print("Le ponemos a disposicion nuestro menu:")
for i in range(1,len(opciones)+1):
print(f"{i}:", opciones[i], "->", valores[i])
opcion = -1
cantidad = -1
while (opcion < 1) or (opcion > 6) or (type(opcion) != int) or (cantidad <= 0) or (type(cantidad) != int):
try:
opcion = int(input("Ingrese una Opcion: "))
if (opcion < 1) or (opcion > 6):
print("Debe elegir una opcion de la 1 a la 6.")
continue
cantidad = int(input("Cuantas unidades desea? "))
if (cantidad < 0):
print("Debe elegir una cantidad positiva")
continue
else:
print(f"Usted ha elegido comprar {cantidad} {opciones[opcion]}. El total a pagar es ${cantidad * valores[opcion]}")
except:
print("Debe ingresar un entero.")