Teórica del día con todo el código y explicaciones con apuntes: programacionfacil.org/blog/los-bucles-for-y-while-100-dias-de-python-5/ Ejercicios del día: programacionfacil.org/blog/ejercicios-y-proyecto-con-bucles-for-y-while-100-dias-de-python-5/ Soluciones de los ejercicios y el proyecto: programacionfacil.org/blog/soluciones-de-ejercicios-y-proyecto-100-dias-de-python-5/
Contenido del día 5: 00:07 Inicio de la parte teórica 00:17 ¿Qué son los bucles? 00:27 ¿Qué es el flujo de ejecución? 01:05 ¿Cómo funcionan los bucles? 01:57 Demostración de flujo de ejecución 02:38 El bucle for 03:15 El método range() 04:58 ¿Cómo funciona la ejecución de un bucle? 05:55 range() con inicio y parada 07:40 Cambiar el incremento de range() 08:33 Utilizar decrementos en el range() 09:04 Iterar listas o tuplas con bucles 12:25 Omitir ciertas ejecuciones en los bucles 16:40 Terminar el bucle antes de tiempo 18:03 ¿Cómo se escribe un bucle while? 19:03 Bucles infinitos 20:00 Incrementar el bucle while 20:38 Decrementar el bucle while 21:25 Los operadores ++ y -- en Python 22:28 Bucles que nunca se ejecutan 23:01 El bucle do while en Python 24:53 El método lower() 25:45 Ejercicios resueltos 32:45 Proyecto - Requisitos 35:10 Proyecto - Código resuelto 42:41 Proyecto - Fase de pruebas
Acabo de terminar el proyecto y me encantó, en dos ocasiones tuve que ver mis apuntes del curso pero en general creo que lo hice bastante bien, estoy muy emocionado porque los proyectos anteriores me habían costado un poco, ya voy notando una mejora :,D
Antes que nada: ¡Muchas gracias por compartir tu tiempo y todo este conocimiento! Para el ejercicio me costó un huevo 🙂 Pero lo hice de esta forma: lista_numeros = [10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10] lista_numeros.sort () #Esto me apoye con tu respuesta por que lo estaba colocando antes de la sentencia print for list in lista_numeros : if 356 != list and 10 != list : print (f"El valor del elemento es: {list}")
Llevaba varios videos tratando de meterme bucles en la cabeza, y siempre me costaba. Este video es excelente, seguiré descubriendo más de este canal :)
No me gusta repetirme,pero lo que te dije en el vídeo anterior es aplicable a este. Excelente video, explicado bien claro con ejemplos , ejercicios y además un proyecto con solucion. Más completo imposible. Muchas gracias por hacer estos vídeos
Jejeje, no es un problema que te repitas si los comentarios son tan buenos como los tuyos :D. Fuera bromas, ¡muchas gracias por el apoyo! Lo valoro mucho.
Muchas gracias amigo, he visto muchos tutoriales sobre ciclos for y gracias al tuyo he terminado de entenderlo, gracias a tu forma de explicar con detalles, y con mucha calma, la mayoria de cursos resuelven este tema en 8 minutos o menos y creo que tu marcas la diferencia.
Aprendí un montón con este video muchas gracias, el ejercicio 4 también lo hice con while me quedo asi: paises = ["United Arab Emirates", "Uruguay", "Uzbekistan", "Venezuela", "Vietnam", "Virgin Islands (US)", "Yemen", "Zambia", "Zimbabwe"] i = 0 while i
Hola, me alegra que estés aprendiendo. Por lo del bucle con len, lo puedes hacer así: paises = ["United Arab Emirates", "Uruguay", "Uzbekistan", "Venezuela", "Vietnam", "Virgin Islands (US)", "Yemen", "Zambia", "Zimbabwe"] i = 0 while i < len(paises): print(f" - {paises[i]} - ") i += 1 Sin embargo, con un bucle for, puedes evitar usar len y es más sencillo: paises = ["United Arab Emirates", "Uruguay", "Uzbekistan", "Venezuela", "Vietnam", "Virgin Islands (US)", "Yemen", "Zambia", "Zimbabwe"] for pais in paises: print(f" - {pais} - ") Si te queda cualquier duda, ya sabes dónde encontrarme. ¡Saludos!
Gracias bro! Yo hice el ejercicio 5 con while y me quedo asi: x = 0 y = int(lista_numeros[x]) while x < 17: if y > 10 and y < 356: print(f"El valor del elemento es: {y}.") x += 1 y = int(lista_numeros[x]) elif y == 10: x += 1 y = int(lista_numeros[x]) else: break Sé que se puede mejorar pero estoy feliz de que me funcione.
Gracias por los vídeos generados, realmente le haz dedicado mucho esfuerzo para tener unos vídeos con una calidad y siempre tratando de una manera didáctica de que la persona que vea el vídeo pueda practicar... FELICIDADES....
Vaya! me motivas, esplendida explicación! y encima varios ejercicios para practicar!!! de lo cual hay poco en la red. Que mas se podría pedir! Muchas gracias programación fácil! sub++ y a seguir el curso!
Hola brother quería decirte que explicas super bien, estoy cursando ipi y gracias a ti estoy seguro q voy a aprobar, todas las cosas q no entendía ya las entiendo, gracias enserió, estoy super agradecido, voy a aprobar gracias a ti. Sos el 10
gracias de nuevo, muy bien explicado. el proyecto de la pizzeria me ha vuelto loco, he estado casi 7horasjajaja. al final he conseguido que no aparezcan valores negativos y que te permita hacer el pedido con los ingredientes previos al que ha acabado con el saldo. ni en broma me ha quedado el codigo tan ordenado y limpio como el tuyo...jaja
Hola, en mi caso he decidido utilizar mas las listas, en vez de utilizar variables para almacenar los nombres y precios he usado listas para ello. He probado la solucion y funciona.
excelente contenido el de tu canal, el curso mas completo que he visto hasta ahora, sin embargo no he podido hacer casi ninguno de los ejercicios que tuvieron un grado de complejidad similar a este y el proyecto de la pizzeria no fue la excepcion, estuve 3 horas tratando de hacerlo pero me quede estancado solo pude hacer una pequeña parte, asi que tendre que borrar lo que habia hecho y hacerlo de nuevo, XD que desastre, un saludo y muchas gracias!
¡Muchas gracias! Si tienes dudas concretas, ves dejándolas. No siempre puedo contestar todo, pero seguro que en algo te puedo ayudar. Y también, si necesitas, puedes tirar de las soluciones de mi sitio web. Haces muy bien en esforzarte, así conseguirás aprender mucho. ¡Un saludo! 🙂
Todo genial, entendio cosas que se me habian hecho complicado con otros cursos, pero tengo las siguientes curiosidades, ya que estamos en una pizeria, como se haria para que se imprima aparte del tickect que estamos haciendo aqui, otro aparte con otra informcion a la cocina para que sepan que tienen que preparar y que ingredientes colocar extra a cada pizza que un cleinte pida, digamos que ya no pide una si que en la misma cuenta quiere tres pizza cada una con ingredientes diferentes, como sabrian lo de la cocina que preprarar, espero estar explicandome bien, por que me e dado cuenta que en este tipo de establecimiento hay una impresora en la ventanita por donde pasan las pizzas cada vez que me imprimen una factura esa impresora imprime algo tambien asumo que es mi pedido para los cocineros, otra cosa que se me ocurre es un numero de control para que sepan que mi factura corresponde al pedido que me van a entregar, espero no molestar pero me da curiosidad como hacerlo y saber como funciona. la otra curiosidad seria si el cliente paga con su tarjeta una parte de la cuenta y otra con otra tarjeta y la diferencia con efectivo, como se haria para que todos esos pagos se vallan registrando y me valla indicando cuanto falta aun por completar el total. no se si se necesite otros metodos que aprender para hacerlo o puedas hacer un ejercicio con todo eso, intente hacerlo pero no supe como, espero tengas el tiempo para poder hacer un video con esto, gracias de antemano un abrazo
31:59 a mi me quedo mas corto: numbers = [10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10] numbers.sort() for number in numbers: if number == 10 or number == 356: pass else: print(f"el resultado es: {number}")
tengo una consulta, yo hice un par de listas para las 3 opciones de pizza y su correspondiente valor en la otra lista, pero a la hora de que el codigo pidiera ese tercer dato de la lista el que seria i=3 daba error, tuve que crear un falso tercer elemento de la lista y el codigo que aun pedia el i = 3 daba el elemento real que ahora estaba en i = 4, sabras de cadualidad por que? el resto del codigo al pedir i = 1 e i = 2 funcinaba perfectamente
Antes de nada muchas gracias por los cursos, con los que estoy aprendiendo mucho y de forma fácil. Quería hacerle una consulta. En el ejercicio 5, da como solución la ejecución con if, elif y else. Doy por sentado que existe mil formas de hacerlo, yo creo haberlo resuelto con for, lista_numeros = [10, 45, 356, 10, 10, 10, 46, 67, 45, 10, 10, 43, 10, 65, 10, 10] for num in lista_numeros: if num < 43 or num > 67: Continue print(f"El valor del elemento es: {num}") sería correcto?
Excelente video. Me gusta que dejen tarea. Eso nos ayuda un montón. Por otra parte, Me gustó la fuente y la gama de colores del texto en tu código. ¿que debo descargar para dejarla asi? o donde configuro para una mejor visualización de colores de texto?
Ante todo felicitaciones por tus cursos. Hace tiempo intentaba aprender pero me costaba encontrar a alguien que lo explicara tan fácil y claro como lo hace uste. Mil gracias. Una consulta, he visto algunos códigos tipo: nombre = none print( "Inserte su nombre por favor") print( f "Su nombre es {nombre}") Funcionar funciona, y a mi forma de ver, es limpio y fácil de leer, el problema es que se multiplican las líneas. Mi duda es: ¿Es desaconsejable al aumentar el numero de líneas? ¿ Al aumentar el número de líneas puede afectar a la velocidad de la ejecución del programa o algo que influya negativamente? Disculpen mi ignorancia, Muchas gracias.
Hola, ¡muchas gracias! Me alegra que te estén gustando los cursos. Por el código, tiene varios fallos. Primero, none con la n minúscula, no existe, es None. Si lo dejas así, te dará un NameError (intentará buscar uan variable llamada none en el código y no la encontrará). Después, si pones el valor None en nombre, el resultado siempre será el mismo. nombre = None print("Inserte su nombre por favor") print(f"Su nombre es {nombre}") Resultado: Inserte su nombre por favor Su nombre es None También, no sé si es por el copia y pega, te ha quedado un espacio entre la f (la de string format) y las comillas del string. Esto hará que se te produzca un error de sintaxis (SyntaxError). En todo caso, lo que deberías hacer es lo siguiente: nombre = input("Inserte su nombre por favor: ") print(f"Su nombre es {nombre}") Otra cosa, hay casos donde tienes que crear una variable, pero no le tienes que dar un valor inicial. En esos casos, utilizas el variable = None y más adelante en el código, le das la incialización con algún valor. En tu código, puedes prescindir del nombre = None. En su lugar, si no quieres poner una entrada de texto tipo "input", hazlo así: nombre = "pepe" print(f"Su nombre es {nombre}.") Pero por lo que sugiere tu código, pienso que quieres que el nombre se ponga en la consola y luego se imprima. Si es ese el caso, hazlo así, como he dicho un poco más arriba: nombre = input("Inserte su nombre por favor: ") print(f"Su nombre es {nombre}") Luego, por lo de usar más líneas, recomiendo usar siempre las justas y no poner de más, tampoco sin exagerar ni sacrificar funcionalidades en el código y sobre todo, ir comentando todo, algo como esto: # Pide el nombre al usuario y lo guarda en la variable nombre = input("Inserte su nombre por favor: ") # Imprime el nombre que ha introducido el usuario print(f"Su nombre es {nombre}") En cuanto a rendimiento, aunque no es notable en un código pequeño, en códigos complejos, se puede hacer más pesado al hacer múltiples pasos extra. Espero que te haya servido y perdón por el "mucho texto". Un saludo. Cualquier duda que te siga quedando, ya sabes donde encontrarme.
@@ProgramacionFacilYT Muchas gracias, se nota soy novato novato jijijiji... la de fallos que hice, pero así se aprende. Muchísimas gracias por todo lo explicado, me quedó muy claro, Espero no repetir los mismos fallos. Y una vez más felicitaciones y gracias por tan excelente curso.
en el ej 5 yo hice esto lista_numeros=[10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10] lista_numeros.sort() for x in (lista_numeros): if x >= 43: print(f"El valor del elemento es:{x}") if x == 67: break use 2 if no se q tan malo sea, si pongo elif en el segundo funcionaria igual supongo
Jejeje, gracias por avisar. No podía ni entrar al panel de administración. He entrado en pánico yo. 😅 Al parecer, era la última actualización de WordPress. Benditas copias de seguridad.
así hice el proyecto amigo, creo que traté de que no hubieran errores y me compliqué. código⬇⬇⬇⬇ #Variables totalrestante,totalapagar,eleccionpizza=0,0,0 pt=['Pizza Hawaiana', 'Pizza Napolitana', 'Pizza Mexicana'] pp=[4.5,5,5.5] ien=["Queso Extra","Jamón Serrano","Champiñones","Queso Parmesano","Queso Cheddar","Pollo Desmechado","Salame","Pepperoni",] ingpizzas=["Salsa de tomate, queso mozzarella, jamón, piña.", "Salsa de tomate, queso mozzarella, anchoas, aceitunas, alcaparras.", "Salsa de tomate, queso mozzarella, carne de res, jalapeños, chiles, tomate, cebolla, guacamole."] iep=[0.8,2,0.8,1.5,3,0.8,2.5,3] elecciontotal=[] print("---Bienvenido a la Pizzeria Jhano's Pizza's 🍕--- ") nombrecliente = input("¿Cuál es su nombre?➡ ").title() while True: dinerocliente = input(f" Hola {nombrecliente} Por favor introduzca la cantidad de dinero con la que usted cuenta: ⬇ $ ") dineroclientedecimal = dinerocliente.replace(".","") if dineroclientedecimal.isdigit(): dinerocliente = float(dinerocliente) break else: print("Ingrese un valor Númerico, por favor.") if dinerocliente >= min(pp): while True: print(f" {nombrecliente} puedes elegir entre 3 Tipos diferentes de pizza: Saldo Disponible: $ {dinerocliente} 1-)🍕{pt[0]} - $ {pp[0]} 2-)🍕{pt[1]} - $ {pp[1]} 3-)🍕{pt[2]} - $ {pp[2]}") eleccionpizza = input("Por favor introduzca el número correspondiente a la pizza que desea ⬇ ") if eleccionpizza == "1" or eleccionpizza == "2" or eleccionpizza == "3": totalrestante=round(dinerocliente-pp[int(eleccionpizza)-1],2) if pp[int(eleccionpizza)-1] > dinerocliente: print("Lo sentimos, no tienes fondos suficientes para la Pizza Elegida.") else: nombrepizza=pt[int(eleccionpizza)-1] print(f" Ha elegido {pt[int(eleccionpizza)-1]}, sus principales ingredientes son: - {ingpizzas[int(eleccionpizza)-1]}
-- Total actual a pagar: $ {round(pp[int(eleccionpizza)-1],2)} | Saldo Restante: $ {round(dinerocliente-pp[int(eleccionpizza)-1],2)} -- ") totalrestante=round(dinerocliente-pp[int(eleccionpizza)-1],2) totalapagar=pp[int(eleccionpizza)-1] elecciontotal.append(pt[int(eleccionpizza)-1]) elecciontotal.append(pp[int(eleccionpizza)-1]) break extra = "0" while extra == "0": if totalrestante < min(iep): print(f"Estimado {nombrecliente}, debido a que sus fondos son insuficientes para ampliar su orden, Su pedido es el siguiente: Producto - Valor ") longitud=len(elecciontotal) contador=0 while contador < longitud: print(f"- {elecciontotal[contador]} | Valor: $ {elecciontotal[contador+1]}") contador+=2 print(f" ---> TOTAL FINAL > 1 para 'SI' y ->> 2 para 'NO' ->>") if extra not in ["1","2"] or not extra.isdigit(): print(" ⚠ - Lo sentimos, no encontramos la opción que ingresó - ⚠ ") extra = "0" elif extra == "1": print(f" Excelente, tenemos los siguientes ingredientes Extra:
(Opción 1) - {ien[0]} - $ {iep[0]} (Opción 2) - {ien[1]} - $ {iep[1]} (Opción 3) - {ien[2]} - $ {iep[2]} (Opción 4) - {ien[3]} - $ {iep[3]} (Opción 5) - {ien[4]} - $ {iep[4]} (Opción 6) - {ien[5]} - $ {iep[5]} (Opción 7) - {ien[6]} - $ {iep[6]} (Opción 8) - {ien[7]} - $ {iep[7]} ") while True: eleccionextra=input(f"Tenga en cuenta que su dinero Restante es de: $ {round(float(totalrestante),2)} Introduzca la opción Correspondiente a su ingrediente deseado en Números: -->") eleccionextradig = eleccionextra.replace(".","") if eleccionextradig.isdigit() and int(eleccionextradig) float(totalrestante): print(f"Lo sentimos, no cuenta con fondos suficientes para ese ingrediente. Su saldo restante es de: {float(totalrestante)}") extra = "0" else: elecciontotal.append(ien[eleccionextra-1]) elecciontotal.append(iep[eleccionextra-1]) totalapagar = totalapagar+(iep[eleccionextra-1]) totalrestante -= (iep[eleccionextra-1]) print(f" Perfecto! Su {nombrepizza} ahora tiene más {ien[eleccionextra-1]} por un valor de $ {iep[eleccionextra-1]}.
--Total actual a pagar: {round(totalapagar,2)} | Saldo Restante: $ {round(totalrestante,2)}--
Su orden Actual es la siguiente: ") longitud0=len(elecciontotal) contador0=0 while contador0 < longitud0: print(f"- {elecciontotal[contador0]} | Valor: $ {elecciontotal[contador0+1]}") contador0+=2 extra= "0" print("") else: print(f" Perfecto {nombrecliente}, si no deseas añadir nada más, su pedido es el siguiente: Producto - Valor ") longitud=len(elecciontotal) contador=0 while contador < longitud: print(f"- {elecciontotal[contador]} | Valor: $ {elecciontotal[contador+1]}") contador+=2 print(f" ---> TOTAL FINAL
Hola! No he sido capaz ni de plantear el programa, cuatro líneas de código y poco más. Cuando he visto el VSCode vacío, me he quedado en blanco, por lo que he tenido que ver la solución. ¿Algún consejo para mejorar eso? 😥😥😥😥
Hola, es normal. Eso le pasa a todo el mundo. Se trata de práctica. Es mucho más difícil plantearse un programa de cero que entender la teórica. La solución la tienes para eso, para que aprendas más cosas si no pudiste realizarlo por tu cuenta. Ya llegará, solo sigue aprendiendo más y al final te saldrá fácil. Este programa era bastante difícil de resolver. En siguientes capítulos, estoy haciendo los proyectos divididos en partes para que no tengáis que hacerlo de cero. A medida que vas viendo ejemplos, vas asimilando más formas de utilizar los elementos como los condicionales, bucles y demás. Lo importante es que vayas entendiendo la teoría, la habilidad llegará.
AYUDA! Este es el código básico de inicio: idiomas = ["Inglés","Español","Francés","Alemán"] for lenguas in idiomas: print(lenguas) Cuando trato de ejecutarlo me arroja ERROR: Traceback (most recent call last): File "", line 1, in NameError: name 'lenguas' is not defined Alguien puede ayudarme, llevo días sin alguna respuesta :(
Saludos Maestro me gustaria compartir codigo que hice de la pizzeria para beneficio de los usuarios en tu pagina. Yo tambien soy principiante en python pero yo estudie programacion de computadoras pero soy nuevo en python. Hice unos cambios en el codigo. No le añadi los ingredientes extras.
Hola, aquí tienes la página dónde está el capítulo en mi web. Ahí puedes dejar todos los comentarios que quieras. programacionfacil.org/blog/los-bucles-for-y-while-100-dias-de-python-5/ Muchas gracias por el aporte.
Esta es una solución sin romper la ejecución del bucle: lista_numeros = [10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10] for numero in lista_numeros: if numero == 10: continue elif numero == 356: continue print(f"El valor del elemento es: {numero}.") 😀
Hola, en las descripciones de cada vídeo tienes el temario, ejercicios y soluciones. De este capítulo, estos son los enlaces: Teórica del día con todo el código y explicaciones con apuntes: programacionfacil.org/blog/los-bucles-for-y-while-100-dias-de-python-5/ Ejercicios del día: programacionfacil.org/blog/ejercicios-y-proyecto-con-bucles-for-y-while-100-dias-de-python-5/ Soluciones de los ejercicios y el proyecto: programacionfacil.org/blog/soluciones-de-ejercicios-y-proyecto-100-dias-de-python-5/
Muy buen curso! Me encanta la forma que explicas, es muy didáctico. Espero que sigas compartiendo este tipo de contenido. Voy a dejar mi código del proyecto. Quedó un poco diferente a la solución, pero cumple con los requisitos. #Se da un titulo a la pizzeria print("-----Bienvenidos a Pizzeria AL!------") # Se le indica al usuario que solo puede pedir una pizza print("Solo podrá pedir una pizza. Recuerde que solo aceptamos dolares.") # Se le pregunta al usuario que cantidad de dinero va a gastar dinero = float(input("Por favor, indique la cantidad de dinero que desea gastar ($): ")) #Se crean las variables con el tipo de pizza, precios de las pizzas, ingredientes y precios de los ingredientes pizzas = ("Margarita.", "Jamón y queso.", "Cuatro quesos.") precios_pizzas = (7.85, 9.65, 8.95) ingredientes = ("Extra de queso.", "Champiñones.", "Albahaca.", "No añadir nada extra y pagar.") precios_ingredientes =(1.25, 0.85, 0.5, 0) # Se le pide al usuario que elija una opción print("Perfecto! Este es nuestro menú: ") for i in range(3): print(f"{i+1}- {pizzas[i]}- {precios_pizzas[i]}$ ") eleccion_pizza = int(input("Por favor, seleccione su pizza con un número de opción y presione ENTER: ")) # Una variable para el control de errores error = True match eleccion_pizza: case 1: print('Ha elegido la pizza "Margarita".') pago_pizza = precios_pizzas[0] dinero_restante = dinero-pago_pizza elecciones = [pizzas[0]] precio_elecciones = [precios_pizzas[0]] print(f"Total a pagar {pago_pizza}$ Le quedan {round(dinero_restante,2)}$ ") case 2: print('Ha elegido la pizza "Jamón y queso".') pago_pizza = precios_pizzas[1] dinero_restante = dinero-pago_pizza elecciones = [pizzas[1]] precio_elecciones = [precios_pizzas[1]] print(f"Total a pagar {pago_pizza}$ Le quedan {round(dinero_restante,2)}$ ") case 3: print('Ha elegido la pizza de "Cuatro quesos".') pago_pizza = precios_pizzas[2] dinero_restante = dinero-pago_pizza elecciones = [pizzas[2]] precio_elecciones = [precios_pizzas[2]] print(f"Total a pagar {pago_pizza}$ Le quedan {round(dinero_restante,2)}$ ") case _: print('Error, opción inválida o no disponible. Por favor, elija una opción del 1 al 3.') error = False while error: # Se solicitan los ingredientes hasta que el cliente no quiera añadir más. for i in range(4): print(f"{i+1}- {ingredientes[i]}- {precios_ingredientes[i]}$ ") eleccion_ingrediente = int(input("Si desea algun ingrediente extra, selecciónelo y presione ENTER: "))
Hola, muchas gracias por comentar y dejar un aporte. Veo que os está gustando mucho este tipo de cursos, así que seguiré hasta el día 100 o incluso puede que añada más días según como vaya. Por el código que me has enviado, lo acabo de mirar y está genial, me ha gustado que hayas puesto los precios y los productos en tuplas. Muy buena solución. ¡Saludos!
opcion_extra = int(input(" Por favor indique un ingrediente con un número de opción: ")) if opcion_extra 0: print(f"Su cambio es ${resto1}") else: print(f"Su cambio es ${resto}")
if extra_pagar > 0: for i in range(len(pedido_ingredientes)): print(f"-> {pedido_ingredientes[i]} -> {monto_ingredientes[i]}") else: print("No hay extra") print("¡Buen provecho!")
Hola, no he probado todas las opciones, pero lo que he probado, cumple su función. Te recomiendo que intentes mejorar el código utilizando algún bucle como en las soluciones de los ejercicios, eso te ayudará a no utilizar tantos condicionales. Enhorabuena por conseguir que funcione el programa. Puedes estar contento con el resultado.
Teórica del día con todo el código y explicaciones con apuntes:
programacionfacil.org/blog/los-bucles-for-y-while-100-dias-de-python-5/
Ejercicios del día:
programacionfacil.org/blog/ejercicios-y-proyecto-con-bucles-for-y-while-100-dias-de-python-5/
Soluciones de los ejercicios y el proyecto:
programacionfacil.org/blog/soluciones-de-ejercicios-y-proyecto-100-dias-de-python-5/
Esta es la solución con el bucle while en el ejercicio 4:
n=len(paises)
i = 0
while i < n:
print(f"-> {paises[i]}
Definitivamente, el mejor curso de Python de toda la web, gracias por tu dedicación y tiempo.
¡Muchas gracias! Me seguiré esforzando para que siga siéndolo ¡Saludos!
Contenido del día 5:
00:07 Inicio de la parte teórica
00:17 ¿Qué son los bucles?
00:27 ¿Qué es el flujo de ejecución?
01:05 ¿Cómo funcionan los bucles?
01:57 Demostración de flujo de ejecución
02:38 El bucle for
03:15 El método range()
04:58 ¿Cómo funciona la ejecución de un bucle?
05:55 range() con inicio y parada
07:40 Cambiar el incremento de range()
08:33 Utilizar decrementos en el range()
09:04 Iterar listas o tuplas con bucles
12:25 Omitir ciertas ejecuciones en los bucles
16:40 Terminar el bucle antes de tiempo
18:03 ¿Cómo se escribe un bucle while?
19:03 Bucles infinitos
20:00 Incrementar el bucle while
20:38 Decrementar el bucle while
21:25 Los operadores ++ y -- en Python
22:28 Bucles que nunca se ejecutan
23:01 El bucle do while en Python
24:53 El método lower()
25:45 Ejercicios resueltos
32:45 Proyecto - Requisitos
35:10 Proyecto - Código resuelto
42:41 Proyecto - Fase de pruebas
En verdad parcero es uno de los cursos mas claros y prácticos que he realizado
Llevo semanas intentando entender los bucles, gracias a este video pude entender de manera muy clara. Los 40 min mejor invertidos🎉🎉
Acabo de terminar el proyecto y me encantó, en dos ocasiones tuve que ver mis apuntes del curso pero en general creo que lo hice bastante bien, estoy muy emocionado porque los proyectos anteriores me habían costado un poco, ya voy notando una mejora :,D
Antes que nada: ¡Muchas gracias por compartir tu tiempo y todo este conocimiento!
Para el ejercicio me costó un huevo 🙂
Pero lo hice de esta forma:
lista_numeros = [10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10]
lista_numeros.sort () #Esto me apoye con tu respuesta por que lo estaba colocando antes de la sentencia print
for list in lista_numeros :
if 356 != list and 10 != list :
print (f"El valor del elemento es: {list}")
los mejores 48 minutos de mi vida con este video, nunca te mueras broooo ;)
Jajaja intentaré sobrevivir 😉
Llevaba varios videos tratando de meterme bucles en la cabeza, y siempre me costaba. Este video es excelente, seguiré descubriendo más de este canal :)
Gracias por transmitir tu conocimiento con todos nosotros, muy buen curso!!
No me gusta repetirme,pero lo que te dije en el vídeo anterior es aplicable a este.
Excelente video, explicado bien claro con ejemplos , ejercicios y además un proyecto con solucion.
Más completo imposible.
Muchas gracias por hacer estos vídeos
Jejeje, no es un problema que te repitas si los comentarios son tan buenos como los tuyos :D.
Fuera bromas, ¡muchas gracias por el apoyo! Lo valoro mucho.
Muchas gracias amigo, he visto muchos tutoriales sobre ciclos for y gracias al tuyo he terminado de entenderlo, gracias a tu forma de explicar con detalles, y con mucha calma, la mayoria de cursos resuelven este tema en 8 minutos o menos y creo que tu marcas la diferencia.
es lo mejor que he visto hasta ahora. Gracias...
Muchas gracias bro por el contenido! el mejor curso
Te agradezco inmensamente el tiempo que nos dedicas!! Ni hablar de tu capacidad docente!! Fuerzas!!!
Muchas gracias por compartir el conocimiento.
i=0
while i < len(paises):
print(f"-> {paises[i]}
Excelente como siempre!!!!
👏👏👏 que calidad! Aprendi un monton! Gracias!!
Gracias por tu tiempo !!
¡De nada! Con mucho gusto :)
Aprendí un montón con este video muchas gracias, el ejercicio 4 también lo hice con while me quedo asi:
paises = ["United Arab Emirates", "Uruguay", "Uzbekistan", "Venezuela", "Vietnam", "Virgin Islands (US)", "Yemen", "Zambia", "Zimbabwe"]
i = 0
while i
Hola, me alegra que estés aprendiendo. Por lo del bucle con len, lo puedes hacer así:
paises = ["United Arab Emirates", "Uruguay", "Uzbekistan", "Venezuela", "Vietnam", "Virgin Islands (US)", "Yemen", "Zambia", "Zimbabwe"]
i = 0
while i < len(paises):
print(f" - {paises[i]} - ")
i += 1
Sin embargo, con un bucle for, puedes evitar usar len y es más sencillo:
paises = ["United Arab Emirates", "Uruguay", "Uzbekistan", "Venezuela", "Vietnam", "Virgin Islands (US)", "Yemen", "Zambia", "Zimbabwe"]
for pais in paises:
print(f" - {pais} - ")
Si te queda cualquier duda, ya sabes dónde encontrarme. ¡Saludos!
Gracias bro! Yo hice el ejercicio 5 con while y me quedo asi:
x = 0
y = int(lista_numeros[x])
while x < 17:
if y > 10 and y < 356:
print(f"El valor del elemento es: {y}.")
x += 1
y = int(lista_numeros[x])
elif y == 10:
x += 1
y = int(lista_numeros[x])
else:
break
Sé que se puede mejorar pero estoy feliz de que me funcione.
de verdad que hasta ahora es uno de los mejores cursos que estoy haciendo de python! sigue asi hermano! exitos
Igualmente, mucho éxito :D
Excelente el curso y las explicaciones son muy claras. Me gusta la parte de ejercicios y el proyecto.
La mejor explicación de ciclo for que he visto.
Gracias por los vídeos generados, realmente le haz dedicado mucho esfuerzo para tener unos vídeos con una calidad y siempre tratando de una manera didáctica de que la persona que vea el vídeo pueda practicar... FELICIDADES....
¡Muchas gracias!
Vaya! me motivas, esplendida explicación! y encima varios ejercicios para practicar!!! de lo cual hay poco en la red. Que mas se podría pedir! Muchas gracias programación fácil! sub++ y a seguir el curso!
¡Muchas gracias por la sub! Espero que aprendas mucho.
¡Adelante con el curso!
Buenísimo como siempre. Gracias
Buenisimo!!! muchas gracias por el contenido 👌
Hola brother quería decirte que explicas super bien, estoy cursando ipi y gracias a ti estoy seguro q voy a aprobar, todas las cosas q no entendía ya las entiendo, gracias enserió, estoy super agradecido, voy a aprobar gracias a ti. Sos el 10
Muchísimas gracias!
Excelente el proyecto. Muchas gracias
Gracias, el curso es muy bueno.
Muy bien explicado
Muchas gracias! me encantan tus cursos
¡Gracias a ti!🙂
Excelente video. Gracias por compartir tus conocimientos.
¡Muchas gracias!
Clarísimo. Muchas gracias !
Perfecto el video, una explicación muy clara y además unos ejercicios simples pero muy didácticos. Esperando ya el siguiente video.
¡Muchas gracias! Estoy horneando ya el día 6 jejeje
Buenísimo video para repasar las bases y buenos ejercicios
excelente video hermano felicidades...
¡Muchas gracias!
Buen trabajo!!!
¡Muchas gracias!
gracias de nuevo, muy bien explicado.
el proyecto de la pizzeria me ha vuelto loco, he estado casi 7horasjajaja. al final he conseguido que no aparezcan valores negativos y que te permita hacer el pedido con los ingredientes previos al que ha acabado con el saldo.
ni en broma me ha quedado el codigo tan ordenado y limpio como el tuyo...jaja
Excelente trabajo, lo importante es que te has esforzado y lo has conseguido. Espero que eso te anime a seguir aprendiendo más.
La verdad te pasas esta muy bueno
¡Muchas gracias! :)
Hola, en mi caso he decidido utilizar mas las listas, en vez de utilizar variables para almacenar los nombres y precios he usado listas para ello. He probado la solucion y funciona.
Maestro, cada vez se pone más interesante, comparto mi solución al 4to ejercicio.
x = 0
y = len(paises)
while x < y:
print(f"-> {paises[x]}
Ya verás como aprenderás mucho :)
excelente contenido el de tu canal, el curso mas completo que he visto hasta ahora, sin embargo no he podido hacer casi ninguno de los ejercicios que tuvieron un grado de complejidad similar a este y el proyecto de la pizzeria no fue la excepcion, estuve 3 horas tratando de hacerlo pero me quede estancado solo pude hacer una pequeña parte, asi que tendre que borrar lo que habia hecho y hacerlo de nuevo, XD que desastre, un saludo y muchas gracias!
¡Muchas gracias! Si tienes dudas concretas, ves dejándolas. No siempre puedo contestar todo, pero seguro que en algo te puedo ayudar. Y también, si necesitas, puedes tirar de las soluciones de mi sitio web. Haces muy bien en esforzarte, así conseguirás aprender mucho. ¡Un saludo! 🙂
superrrr
Todo genial, entendio cosas que se me habian hecho complicado con otros cursos, pero tengo las siguientes curiosidades, ya que estamos en una pizeria, como se haria para que se imprima aparte del tickect que estamos haciendo aqui, otro aparte con otra informcion a la cocina para que sepan que tienen que preparar y que ingredientes colocar extra a cada pizza que un cleinte pida, digamos que ya no pide una si que en la misma cuenta quiere tres pizza cada una con ingredientes diferentes, como sabrian lo de la cocina que preprarar, espero estar explicandome bien, por que me e dado cuenta que en este tipo de establecimiento hay una impresora en la ventanita por donde pasan las pizzas cada vez que me imprimen una factura esa impresora imprime algo tambien asumo que es mi pedido para los cocineros, otra cosa que se me ocurre es un numero de control para que sepan que mi factura corresponde al pedido que me van a entregar, espero no molestar pero me da curiosidad como hacerlo y saber como funciona.
la otra curiosidad seria si el cliente paga con su tarjeta una parte de la cuenta y otra con otra tarjeta y la diferencia con efectivo, como se haria para que todos esos pagos se vallan registrando y me valla indicando cuanto falta aun por completar el total.
no se si se necesite otros metodos que aprender para hacerlo o puedas hacer un ejercicio con todo eso, intente hacerlo pero no supe como, espero tengas el tiempo para poder hacer un video con esto, gracias de antemano un abrazo
paises =('United Arab Emirates','United Kingdom','Uruguay','Uzbekistan','Venezuela','Vietnan','Virgin Islands (US)','Yemen','Zambia','Zimbabwe')
contador = 0
while contador
31:59
a mi me quedo mas corto:
numbers = [10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10]
numbers.sort()
for number in numbers:
if number == 10 or number == 356:
pass
else:
print(f"el resultado es: {number}")
tengo una consulta, yo hice un par de listas para las 3 opciones de pizza y su correspondiente valor en la otra lista, pero a la hora de que el codigo pidiera ese tercer dato de la lista el que seria i=3 daba error, tuve que crear un falso tercer elemento de la lista y el codigo que aun pedia el i = 3 daba el elemento real que ahora estaba en i = 4, sabras de cadualidad por que? el resto del codigo al pedir i = 1 e i = 2 funcinaba perfectamente
nesecito tu ayuda, quiero saber con que auxiliares trabajaras ya que cuando le doy correr a mi programacion no me vota para llenar datos
Antes de nada muchas gracias por los cursos, con los que estoy aprendiendo mucho y de forma fácil.
Quería hacerle una consulta. En el ejercicio 5, da como solución la ejecución con if, elif y else.
Doy por sentado que existe mil formas de hacerlo, yo creo haberlo resuelto con for,
lista_numeros = [10, 45, 356, 10, 10, 10, 46, 67, 45, 10, 10, 43, 10, 65, 10, 10]
for num in lista_numeros:
if num < 43 or num > 67:
Continue
print(f"El valor del elemento es: {num}")
sería correcto?
Supongo que habra una mejor forma 30:15
pais = len(paises)
i = 0
while i < pais:
print(f"-> {paises[i]}
Excelente solución. Muchas gracias por el aporte. Está perfecto :D
lo hice con For igual que tu, pero tambien probé el While con el siguiente código:
cantidad_paises = len(paises)
contador=0
while contador
aah ese chatGPT si se puede ver
👍
Excelente video. Me gusta que dejen tarea. Eso nos ayuda un montón.
Por otra parte, Me gustó la fuente y la gama de colores del texto en tu código. ¿que debo descargar para dejarla asi? o donde configuro para una mejor visualización de colores de texto?
exercise 4
lista = len(paises)
i = 0
while i < lista:
print(f'-> {paises[i]}
Ante todo felicitaciones por tus cursos. Hace tiempo intentaba aprender pero me costaba encontrar a alguien que lo explicara tan fácil y claro como lo hace uste. Mil gracias.
Una consulta, he visto algunos códigos tipo:
nombre = none
print(
"Inserte su nombre por favor")
print(
f "Su nombre es {nombre}")
Funcionar funciona, y a mi forma de ver, es limpio y fácil de leer, el problema es que se multiplican las líneas.
Mi duda es: ¿Es desaconsejable al aumentar el numero de líneas? ¿ Al aumentar el número de líneas puede afectar a la velocidad de la ejecución del programa o algo que influya negativamente?
Disculpen mi ignorancia,
Muchas gracias.
Hola, ¡muchas gracias! Me alegra que te estén gustando los cursos.
Por el código, tiene varios fallos.
Primero, none con la n minúscula, no existe, es None. Si lo dejas así, te dará un NameError (intentará buscar uan variable llamada none en el código y no la encontrará).
Después, si pones el valor None en nombre, el resultado siempre será el mismo.
nombre = None
print("Inserte su nombre por favor")
print(f"Su nombre es {nombre}")
Resultado:
Inserte su nombre por favor
Su nombre es None
También, no sé si es por el copia y pega, te ha quedado un espacio entre la f (la de string format) y las comillas del string. Esto hará que se te produzca un error de sintaxis (SyntaxError).
En todo caso, lo que deberías hacer es lo siguiente:
nombre = input("Inserte su nombre por favor: ")
print(f"Su nombre es {nombre}")
Otra cosa, hay casos donde tienes que crear una variable, pero no le tienes que dar un valor inicial. En esos casos, utilizas el variable = None y más adelante en el código, le das la incialización con algún valor.
En tu código, puedes prescindir del nombre = None. En su lugar, si no quieres poner una entrada de texto tipo "input", hazlo así:
nombre = "pepe"
print(f"Su nombre es {nombre}.")
Pero por lo que sugiere tu código, pienso que quieres que el nombre se ponga en la consola y luego se imprima. Si es ese el caso, hazlo así, como he dicho un poco más arriba:
nombre = input("Inserte su nombre por favor: ")
print(f"Su nombre es {nombre}")
Luego, por lo de usar más líneas, recomiendo usar siempre las justas y no poner de más, tampoco sin exagerar ni sacrificar funcionalidades en el código y sobre todo, ir comentando todo, algo como esto:
# Pide el nombre al usuario y lo guarda en la variable
nombre = input("Inserte su nombre por favor: ")
# Imprime el nombre que ha introducido el usuario
print(f"Su nombre es {nombre}")
En cuanto a rendimiento, aunque no es notable en un código pequeño, en códigos complejos, se puede hacer más pesado al hacer múltiples pasos extra.
Espero que te haya servido y perdón por el "mucho texto". Un saludo. Cualquier duda que te siga quedando, ya sabes donde encontrarme.
@@ProgramacionFacilYT Muchas gracias, se nota soy novato novato jijijiji... la de fallos que hice, pero así se aprende.
Muchísimas gracias por todo lo explicado, me quedó muy claro, Espero no repetir los mismos fallos.
Y una vez más felicitaciones y gracias por tan excelente curso.
De nada, para eso estoy aquí en RUclips. Espero que sigas aprendiendo mucho más :)
Eres Grande Amigo !! tienes linkedin?
Hola, creo que tenía uno de hace tiempo, pero ni lo utilizo. Un día de estos lo pondré al día jejeje
en el ej 5 yo hice esto
lista_numeros=[10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10]
lista_numeros.sort()
for x in (lista_numeros):
if x >= 43:
print(f"El valor del elemento es:{x}")
if x == 67:
break
use 2 if no se q tan malo sea, si pongo elif en el segundo funcionaria igual supongo
buenas profe, la pagina de los de la parte teórica no esta abriendo. entramos en pánico o se soluciona prontamente?
Jejeje, gracias por avisar. No podía ni entrar al panel de administración. He entrado en pánico yo. 😅 Al parecer, era la última actualización de WordPress. Benditas copias de seguridad.
@@ProgramacionFacilYT muchas gracias eres el mejor
Hola, que tema de vscode utilizas?
Hola, en este capítulo utilizo el tema Panda Syntax.
así hice el proyecto amigo, creo que traté de que no hubieran errores y me compliqué.
código⬇⬇⬇⬇
#Variables
totalrestante,totalapagar,eleccionpizza=0,0,0
pt=['Pizza Hawaiana', 'Pizza Napolitana', 'Pizza Mexicana']
pp=[4.5,5,5.5]
ien=["Queso Extra","Jamón Serrano","Champiñones","Queso Parmesano","Queso Cheddar","Pollo Desmechado","Salame","Pepperoni",]
ingpizzas=["Salsa de tomate, queso mozzarella, jamón, piña.", "Salsa de tomate, queso mozzarella, anchoas, aceitunas, alcaparras.", "Salsa de tomate, queso mozzarella, carne de res, jalapeños, chiles, tomate, cebolla, guacamole."]
iep=[0.8,2,0.8,1.5,3,0.8,2.5,3]
elecciontotal=[]
print("---Bienvenido a la Pizzeria Jhano's Pizza's 🍕---
")
nombrecliente = input("¿Cuál es su nombre?➡
").title()
while True:
dinerocliente = input(f"
Hola {nombrecliente} Por favor introduzca la cantidad de dinero con la que usted cuenta: ⬇
$ ")
dineroclientedecimal = dinerocliente.replace(".","")
if dineroclientedecimal.isdigit():
dinerocliente = float(dinerocliente)
break
else:
print("Ingrese un valor Númerico, por favor.")
if dinerocliente >= min(pp):
while True:
print(f"
{nombrecliente} puedes elegir entre 3 Tipos diferentes de pizza:
Saldo Disponible: $ {dinerocliente}
1-)🍕{pt[0]} - $ {pp[0]}
2-)🍕{pt[1]} - $ {pp[1]}
3-)🍕{pt[2]} - $ {pp[2]}")
eleccionpizza = input("Por favor introduzca el número correspondiente a la pizza que desea ⬇
")
if eleccionpizza == "1" or eleccionpizza == "2" or eleccionpizza == "3":
totalrestante=round(dinerocliente-pp[int(eleccionpizza)-1],2)
if pp[int(eleccionpizza)-1] > dinerocliente:
print("Lo sentimos, no tienes fondos suficientes para la Pizza Elegida.")
else:
nombrepizza=pt[int(eleccionpizza)-1]
print(f"
Ha elegido {pt[int(eleccionpizza)-1]}, sus principales ingredientes son:
- {ingpizzas[int(eleccionpizza)-1]}
-- Total actual a pagar: $ {round(pp[int(eleccionpizza)-1],2)} | Saldo Restante: $ {round(dinerocliente-pp[int(eleccionpizza)-1],2)} --
")
totalrestante=round(dinerocliente-pp[int(eleccionpizza)-1],2)
totalapagar=pp[int(eleccionpizza)-1]
elecciontotal.append(pt[int(eleccionpizza)-1])
elecciontotal.append(pp[int(eleccionpizza)-1])
break
extra = "0"
while extra == "0":
if totalrestante < min(iep):
print(f"Estimado {nombrecliente}, debido a que sus fondos son insuficientes para ampliar su orden,
Su pedido es el siguiente:
Producto - Valor
")
longitud=len(elecciontotal)
contador=0
while contador < longitud:
print(f"- {elecciontotal[contador]} | Valor: $ {elecciontotal[contador+1]}")
contador+=2
print(f"
---> TOTAL FINAL > 1 para 'SI' y ->> 2 para 'NO'
->>")
if extra not in ["1","2"] or not extra.isdigit():
print("
⚠ - Lo sentimos, no encontramos la opción que ingresó - ⚠
")
extra = "0"
elif extra == "1":
print(f"
Excelente, tenemos los siguientes ingredientes Extra:
(Opción 1) - {ien[0]} - $ {iep[0]}
(Opción 2) - {ien[1]} - $ {iep[1]}
(Opción 3) - {ien[2]} - $ {iep[2]}
(Opción 4) - {ien[3]} - $ {iep[3]}
(Opción 5) - {ien[4]} - $ {iep[4]}
(Opción 6) - {ien[5]} - $ {iep[5]}
(Opción 7) - {ien[6]} - $ {iep[6]}
(Opción 8) - {ien[7]} - $ {iep[7]}
")
while True:
eleccionextra=input(f"Tenga en cuenta que su dinero Restante es de: $ {round(float(totalrestante),2)}
Introduzca la opción Correspondiente a su ingrediente deseado en Números:
-->")
eleccionextradig = eleccionextra.replace(".","")
if eleccionextradig.isdigit() and int(eleccionextradig) float(totalrestante):
print(f"Lo sentimos, no cuenta con fondos suficientes para ese ingrediente.
Su saldo restante es de: {float(totalrestante)}")
extra = "0"
else:
elecciontotal.append(ien[eleccionextra-1])
elecciontotal.append(iep[eleccionextra-1])
totalapagar = totalapagar+(iep[eleccionextra-1])
totalrestante -= (iep[eleccionextra-1])
print(f"
Perfecto! Su {nombrepizza} ahora tiene más {ien[eleccionextra-1]} por un valor de $ {iep[eleccionextra-1]}.
--Total actual a pagar: {round(totalapagar,2)} | Saldo Restante: $ {round(totalrestante,2)}--
Su orden Actual es la siguiente:
")
longitud0=len(elecciontotal)
contador0=0
while contador0 < longitud0:
print(f"- {elecciontotal[contador0]} | Valor: $ {elecciontotal[contador0+1]}")
contador0+=2
extra= "0"
print("")
else:
print(f"
Perfecto {nombrecliente}, si no deseas añadir nada más,
su pedido es el siguiente:
Producto - Valor
")
longitud=len(elecciontotal)
contador=0
while contador < longitud:
print(f"- {elecciontotal[contador]} | Valor: $ {elecciontotal[contador+1]}")
contador+=2
print(f"
---> TOTAL FINAL
Hola!
No he sido capaz ni de plantear el programa, cuatro líneas de código y poco más. Cuando he visto el VSCode vacío, me he quedado en blanco, por lo que he tenido que ver la solución. ¿Algún consejo para mejorar eso? 😥😥😥😥
Hola, es normal. Eso le pasa a todo el mundo. Se trata de práctica. Es mucho más difícil plantearse un programa de cero que entender la teórica. La solución la tienes para eso, para que aprendas más cosas si no pudiste realizarlo por tu cuenta. Ya llegará, solo sigue aprendiendo más y al final te saldrá fácil.
Este programa era bastante difícil de resolver. En siguientes capítulos, estoy haciendo los proyectos divididos en partes para que no tengáis que hacerlo de cero.
A medida que vas viendo ejemplos, vas asimilando más formas de utilizar los elementos como los condicionales, bucles y demás. Lo importante es que vayas entendiendo la teoría, la habilidad llegará.
no entiendo bien lo ultimo en el proyecto como funciona el for ahi, ¿alguien me podría explicar?
Buenas, ¿Esta bien si en vez de "continue", utilizo "pass" en el ejercicio 5?
Buenas, te he hecho un short para darte una respuesta más completa: ruclips.net/user/shortsRsOAAHmQHTE
AYUDA! Este es el código básico de inicio:
idiomas = ["Inglés","Español","Francés","Alemán"]
for lenguas in idiomas:
print(lenguas)
Cuando trato de ejecutarlo me arroja ERROR:
Traceback (most recent call last):
File "", line 1, in
NameError: name 'lenguas' is not defined
Alguien puede ayudarme, llevo días sin alguna respuesta :(
el detalle es que no has definido la variable "lenguas"
prueba de esta forma:
for i in idiomas:
lenguas = i
print(lenguas)
Saludos Maestro me gustaria compartir codigo que hice de la pizzeria para beneficio de los usuarios en tu pagina. Yo tambien soy principiante en python pero yo estudie programacion de computadoras pero soy nuevo en python. Hice unos cambios en el codigo. No le añadi los ingredientes extras.
Hola, aquí tienes la página dónde está el capítulo en mi web. Ahí puedes dejar todos los comentarios que quieras.
programacionfacil.org/blog/los-bucles-for-y-while-100-dias-de-python-5/
Muchas gracias por el aporte.
usando len hay que tener en cuenta que la extencion hay que reducirle un valor
contadorp=0
extencion= int(len(paises) -1)
while contadorp
Esta es una solución sin romper la ejecución del bucle:
lista_numeros = [10,45,356,10,10,10,46,67,45,10,10,43,10,65,10,10]
for numero in lista_numeros:
if numero == 10:
continue
elif numero == 356:
continue
print(f"El valor del elemento es: {numero}.")
😀
pague un curso en Udemy q es una basura comparada a esto! like y subscrito!
a mi el 3r ejercicio me salio asi:
#for i in range(0, -5500, -500):
i = 0 #print(f"el valor es {i}")
while i >= -5000:
print(f"Value {i}")
i += -500
buen video , una cobsulta donde puedo descargarme el codigo del proyecto de pizzas? porfavor
Hola, en las descripciones de cada vídeo tienes el temario, ejercicios y soluciones.
De este capítulo, estos son los enlaces:
Teórica del día con todo el código y explicaciones con apuntes:
programacionfacil.org/blog/los-bucles-for-y-while-100-dias-de-python-5/
Ejercicios del día:
programacionfacil.org/blog/ejercicios-y-proyecto-con-bucles-for-y-while-100-dias-de-python-5/
Soluciones de los ejercicios y el proyecto:
programacionfacil.org/blog/soluciones-de-ejercicios-y-proyecto-100-dias-de-python-5/
#Listado de paises
for pais in paises:
print(f"{pais}")
i = 0
while i
todos diciendo "super claro y facil de entender" y yo que no entendi bien :C, hasta el momento habia estado facil abra que seguir practicando xd
hola maestro, fue mas facil hacerlo con for:
for pais in paises:
print(pais)
Se me hace más fácil poner la , antes de f{} en una cadena de texto
Muy buen curso! Me encanta la forma que explicas, es muy didáctico. Espero que sigas compartiendo este tipo de contenido. Voy a dejar mi código del proyecto. Quedó un poco diferente a la solución, pero cumple con los requisitos.
#Se da un titulo a la pizzeria
print("-----Bienvenidos a Pizzeria AL!------")
# Se le indica al usuario que solo puede pedir una pizza
print("Solo podrá pedir una pizza. Recuerde que solo aceptamos dolares.")
# Se le pregunta al usuario que cantidad de dinero va a gastar
dinero = float(input("Por favor, indique la cantidad de dinero que desea gastar ($):
"))
#Se crean las variables con el tipo de pizza, precios de las pizzas, ingredientes y precios de los ingredientes
pizzas = ("Margarita.", "Jamón y queso.", "Cuatro quesos.")
precios_pizzas = (7.85, 9.65, 8.95)
ingredientes = ("Extra de queso.", "Champiñones.", "Albahaca.", "No añadir nada extra y pagar.")
precios_ingredientes =(1.25, 0.85, 0.5, 0)
# Se le pide al usuario que elija una opción
print("Perfecto! Este es nuestro menú: ")
for i in range(3):
print(f"{i+1}- {pizzas[i]}- {precios_pizzas[i]}$ ")
eleccion_pizza = int(input("Por favor, seleccione su pizza con un número de opción y presione ENTER:
"))
# Una variable para el control de errores
error = True
match eleccion_pizza:
case 1:
print('Ha elegido la pizza "Margarita".')
pago_pizza = precios_pizzas[0]
dinero_restante = dinero-pago_pizza
elecciones = [pizzas[0]]
precio_elecciones = [precios_pizzas[0]]
print(f"Total a pagar {pago_pizza}$
Le quedan {round(dinero_restante,2)}$
")
case 2:
print('Ha elegido la pizza "Jamón y queso".')
pago_pizza = precios_pizzas[1]
dinero_restante = dinero-pago_pizza
elecciones = [pizzas[1]]
precio_elecciones = [precios_pizzas[1]]
print(f"Total a pagar {pago_pizza}$
Le quedan {round(dinero_restante,2)}$
")
case 3:
print('Ha elegido la pizza de "Cuatro quesos".')
pago_pizza = precios_pizzas[2]
dinero_restante = dinero-pago_pizza
elecciones = [pizzas[2]]
precio_elecciones = [precios_pizzas[2]]
print(f"Total a pagar {pago_pizza}$
Le quedan {round(dinero_restante,2)}$
")
case _:
print('Error, opción inválida o no disponible. Por favor, elija una opción del 1 al 3.')
error = False
while error:
# Se solicitan los ingredientes hasta que el cliente no quiera añadir más.
for i in range(4):
print(f"{i+1}- {ingredientes[i]}- {precios_ingredientes[i]}$ ")
eleccion_ingrediente = int(input("Si desea algun ingrediente extra, selecciónelo y presione ENTER:
"))
if dinero_restante
Hola, muchas gracias por comentar y dejar un aporte.
Veo que os está gustando mucho este tipo de cursos, así que seguiré hasta el día 100 o incluso puede que añada más días según como vaya.
Por el código que me has enviado, lo acabo de mirar y está genial, me ha gustado que hayas puesto los precios y los productos en tuplas. Muy buena solución.
¡Saludos!
Adjunto posible solución de proyecto, sin usar match (switch):
dinero = float(input(("Hola, Introduzca con cuanto dinero dispone: $")))
print("---PIZERIA ELJ---
")
print("*PRECIOS DE PIZZAS*")
print("1. Vegeteriana $8.50")
print("2. Cinco carnes $10.50")
print("3. Margarita $7.50")
print("4. Tres quesos $8.25")
print("5. Peperoni $7.75")
extra_pagar = 0
pedido_ingredientes = []
monto_ingredientes = []
pizzas = ["Vegetariana", "Cinco carnes", "Margarita", "Tres quesos", "Peperoni"]
precio_pizzas = [8.50, 10.50, 7.50, 8.25, 7.75]
opcion_pizza = int(input("Por favor indique su pizza con un número de opcion: "))
if opcion_pizza dinero:
print("No te alcanza")
else:
print(f"Total a pagar ${total}")
resto = dinero - total
print(f"Le quedan ${resto}")
ingredientes = ["Champiñones", "Extra queso", "Jamón", "Peperoni", "Salchicha"]
precio_ingredientes = [1.75, 1.50, 1.25, 1.50, 2.00]
while True:
desicion = input("Desea algun ingrediente extra Si/No:
")
if desicion == "No":
break
# if desicion == "Si":
print("
*PRECIOS INGREDIENTES EXTRAS*")
print("1. Champiñones $1.75")
print("2. Extra queso $1.50")
print("3. Jamón $1.25")
print("4. Peperoni $1.50")
print("5. Salchicha $2.00")
opcion_extra = int(input("
Por favor indique un ingrediente con un número de opción: "))
if opcion_extra 0:
print(f"Su cambio es ${resto1}")
else:
print(f"Su cambio es ${resto}")
print(f"
-> {pizza} ${precio_pizzas[opcion_pizza - 1]}")
if extra_pagar > 0:
for i in range(len(pedido_ingredientes)):
print(f"-> {pedido_ingredientes[i]} -> {monto_ingredientes[i]}")
else:
print("No hay extra")
print("¡Buen provecho!")
else:
print("Opcion incorrecta")
ya no me siento un retrasado mental, ahora lo pude entender
Buen dia, no se que tambien hice mi programa pero hice este intento, ¿es valido?
print("->Bienvenido a Pizza PDF
Hola, no he probado todas las opciones, pero lo que he probado, cumple su función.
Te recomiendo que intentes mejorar el código utilizando algún bucle como en las soluciones de los ejercicios, eso te ayudará a no utilizar tantos condicionales.
Enhorabuena por conseguir que funcione el programa. Puedes estar contento con el resultado.