Esta página contiene las soluciones para los ejercicios y el proyecto del quinto día del curso.
- Recuerda que para llegar al valor 14, el range() tiene que tener hasta el 15.
for i in range(7,15): print(f"El valor del bucle es: {i}.")
- En este caso, se puede poner de condición, menor o igual a 14.
i = 7 while i <= 14: print(f"El valor del bucle es: {i}.") i += 1
- Primero el bucle for y luego el while:
for i in range (0,-5001, -500): print(f"El valor del bucle es: {i}.")
i = 0 while i >= -5000: print(f"El valor del bucle es: {i}.") i -= 500
- Una vez aprendes bien a iterar listas con bucles, esto es de lo más sencillo de hacer:
for pais in paises: print(f"-> {pais} <-")
Recuerda que la variable "i" de los bucles, se suele poner por convención, no es obligatoria. Hay veces donde es más entendible poner, por ejemplo "pais", que es lo que se almacena en cada vuelta del bucle, un "país" de la lista de "países".
- En primer lugar, ordeno la lista de menor a mayor con sort(). Para que el 356 quede al final (es el mayor),
Con un bucle for, itero toda la lista.
Anido un if para indicar que si el valor es igual a 10, que lo omita (continue).
Si el valor es igual a 356, que rompa la ejecución del bucle (break) como se pide (también se podía hacer con un "continue" puesto que está al final de la lista y el bucle ya termina).
Si no es ninguno de estos dos valores, se imprimen con normalidad.
Tienes dos posibles soluciones, hacer if individuales o un if elif else:
lista_numeros = [10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10] # Se ordena la lista de menor a mayor lista_numeros.sort() # Bucle para iterar la lista for i in lista_numeros: if i == 10: continue # Se omiten los valores 10 if i == 356: break # Se rompe la iteración en el momento que el valor de i es 356 print(f"El valor del elemento es: {i}")
lista_numeros = [10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10] # Se ordena la lista de menor a mayor lista_numeros.sort() # Bucle para iterar la lista for i in lista_numeros: if i == 10: continue # Se omiten los valores 10 elif i == 356: break # Se rompe la iteración en el momento que el valor de i es 356 else: print(f"El valor del elemento es: {i}")
Solución del proyecto de pedido en pizzería
Primero de todo, aquí tienes el código. Si lo has hecho diferente, lo importante, como siempre digo, es que cumpla con los requisitos solicitados que puedas lograr. Como siempre, puedes ver la explicación de este código con todo detalle en el vídeo correspondiente a este día del curso.
# Declaración de las variables del programa dinero = float(input("Hola, indique el dinero que lleva.\n")) DINERO_INICIAL = dinero total = 0 pedido = [] margarita = 7.85 jamon_queso = 9.65 cuatro_quesos = 8.95 extra_queso = 1.25 champinones = 0.85 albahaca = 0.5 # Título del programa print("-> Pizzería PF <-\n") # Bucle infinito (True) para pizzas - Número de ejecuciones indeterminadas while True: # Menú de pizzas print(f"1 - Margarita - {margarita}$") print(f"2 - Jamón y queso - {jamon_queso}$") print(f"3 - Cuatro quesos - {cuatro_quesos}$") # Almacena la elección del usuario eleccion = int(input("Hola, por favor, seleccione su pizza con un número de opción.\n")) # Se calcula el cambio y el total, se indica la pizza elegida, se añade a la lista match eleccion: case 1: print(f"Ha elegido la pizza margarita.\nTotal a pagar {margarita}$.") dinero -= margarita print(f"Le quedan {round(dinero,2)}$.") total += margarita pedido.append(f"Margarita - {margarita}$") break case 2: print(f"Ha elegido la pizza de jamón y queso.\nTotal a pagar {jamon_queso}$.") dinero -= jamon_queso print(f"Le quedan {round(dinero,2)}$.") total += jamon_queso pedido.append(f"Jamón y queso - {jamon_queso}$") break case 3: print(f"Ha elegido la pizza cuatro quesos.\nTotal a pagar {cuatro_quesos}$.") dinero -= cuatro_quesos print(f"Le quedan {round(dinero,2)}$.") total += cuatro_quesos pedido.append(f"Cuatro quesos - {cuatro_quesos}$") break case _: print(f"Opción incorrecta. Seleccione una opción del 1 al 3.") # Bucle infinito (True) para ingredientes - Número de ejecuciones indeterminadas while True: # Menú de ingredientes print(f"1 - Extra de queso - {extra_queso}$") print(f"2 - Champiñones - {champinones}$") print(f"3 - Albahaca - {albahaca}$") print(f"4 - No añadir nada extra y pagar.") # Almacena la elección del usuario eleccion = int(input("Si desea algún ingrediente extra, selecciónelo.\n")) # Se calcula el cambio y el total, se indican los ingredientes elegidos, # se añaden a la lista... match eleccion: case 1: print(f"Ha elegido extra de queso.\nExtra a pagar {extra_queso}$.") dinero -= extra_queso total += extra_queso print(f"Total a pagar: {total}$.") print(f"Le quedan {round(dinero,2)}$.") pedido.append(f"Extra de queso - {extra_queso}$") case 2: print(f"Ha elegido champiñones extra.\nExtra a pagar {champinones}$.") dinero -= champinones total += champinones print(f"Total a pagar: {total}$.") print(f"Le quedan {round(dinero,2)}$.") pedido.append(f"Champiñones - {champinones}$") case 3: print(f"Ha elegido añadir albahaca.\nExtra a pagar {albahaca}$.") dinero -= albahaca total += albahaca print(f"Total a pagar: {total}$.") print(f"Le quedan {round(dinero,2)}$.") pedido.append(f"Albahaca - {albahaca}$") case 4: print("De acuerdo, no se añade nada extra.") break case _: print(f"Opción incorrecta. Seleccione una opción del 1 al 4.") # Un condicional para determinar si le llega el dinero al usuario con su pedido. # Si le llega, se ejecuta el if y le saca el ticket con todo lo pedido. if total <= DINERO_INICIAL: print("\n--- SU PEDIDO ---") print(f"El total de su pedido es: {total}$.") print(f"Su cambio: {dinero}$.\n") for i in pedido: print(f"-{i}.") print("\n¡Buen provecho!") # Si el dinero no le llega, le indica que no le llega y no imprime el ticket. else: print("No le llega el dinero para todo eso. Por favor, vuelva a empezar.")
Código para usar while con la lista de países:
# Inicializamos el índice
pais = 0
# Bucle while para iterar a través de la lista de países
while pais < len(paises):
print(paises[pais])
pais += 1
Excelente, gracias
Saludos el projecto de la pizza esta super interesante. Pero luego de haberlo creado y corrido te das cuenta que al principio no hay una instruccion para saber si tiene el dinero disponible para comprar la pizza. El programa te deja correrlo independientemente si no tienes la cantidad completa del dinero y cuando te tira el resultado te da un negativo. Yo estoy preparando el mismo projecto pero con otras instrucciones que antes de que comienze a ejecutar dinero -= pizza o total += pizza el sistema verifica de ante mano si tiene suficiente dinero para comprar. Lo hice con un if preguntadole al programa que si DINERO_INICIAL > pizza(peperoni,queso) entonces puede continuar ejecutando las instrucciones. Pero si el dinero inicial es menor que el costo de la pizza ahi inmediatamente termina el programa con un mensaje que le dice usted no tiene el dinero disponible para comprar la pizza> Si me lo permiten puedo publicar el codigo aqui para el beneficio de los compañeros
Excelente curso gracias
Maestro, este curso cada vez se pone mejor y los ejercicios ni se diga.
Genial. Muchísimas gracias!
Gracias a usted. Tenga un buen día 😀