¿Como podría agregarle un ciclo while al conversor de monedas? Tengo el siguiente código pero nunca se rompe el ciclo si ya utilice el co...

Jorge Alberto Mora Mora

Jorge Alberto Mora Mora

Pregunta
studenthace 3 años

¿Como podría agregarle un ciclo while al conversor de monedas?

Tengo el siguiente código pero nunca se rompe el ciclo si ya utilice el conversor una vez 🤔🤔🤔

def run(): def conversor(tipo_pesos, valor_dolar): pesos = int(input((f'¿Cuántos pesos {tipo_pesos} tienes?: '))) dolar = round(pesos / valor_dolar, 2) print("\n") print(f'Tienes ${pesos} pesos {tipo_pesos} que equivalen a: ${dolar} dólares') print("\n") print("¡Gracias por utilizar nuestro conversor de monedas!") menu = """ 💰 Conversor de monedas 💰 (1) - Pesos Colombianos (COP) (2) - Pesos Argentinos (ARG) (3) - Pesos Mexicanos (MEX) (4) - Salir Elige una opción: """ opcion = int(input(menu)) while opcion == 1 or opcion == 2 or opcion == 3: if opcion == 1: conversor('colombianos', 3962.83) run() elif opcion == 2: conversor('argentinos', 103.52) run() elif opcion == 3: conversor('mexicanos', 20.3847) run() elif opcion == 4: print('Adios!') break else: print('Por favor coloca una opción correcta') break if __name__ == '__main__': run()

Agradezco cualquier ayuda!

2 respuestas
para escribir tu comentario
    Jorge Alberto Mora Mora

    Jorge Alberto Mora Mora

    studenthace 3 años

    Hola Kevin, segui tu consejo y ademas agregue un condicional If y funciona de maravilla :D

    Gracias!

    def run(): def conversor(tipo_pesos, valor_dolar): pesos = float(input((f'¿Cuántos pesos {tipo_pesos} tienes?: '))) dolar = round(pesos / valor_dolar, 2) print("\n") print(f'Tienes ${pesos} pesos {tipo_pesos} que equivalen a: ${dolar} dólares') print("\n") print("¡Gracias por utilizar nuestro conversor de monedas!") menu = """ 💰 Conversor de monedas 💰 (1) - Pesos Colombianos (COP) (2) - Pesos Argentinos (ARG) (3) - Pesos Mexicanos (MEX) (4) - Salir Elige una opción: """ opcion = int(input(menu)) if opcion <= 4: while opcion == 1 or opcion == 2 or opcion == 3 or opcion==4: if opcion == 1: conversor('colombianos', 3962.83) run() break elif opcion == 2: conversor('argentinos', 103.52) run() break elif opcion == 3: conversor('mexicanos', 20.3847) run() break elif opcion == 4: print('Adios!') break else: print('Por favor coloca una opción correcta') break else: print('Esa opción no existe') if __name__ == '__main__': run()```
    Kevin J. Zea Alvarado

    Kevin J. Zea Alvarado

    studenthace 3 años

    Hola, Jorge. 👋

    Intenta poniendo un

    break
    después de
    run()
    en las opciones 1, 2 y 3, para que termine de ejecutarse el
    while
    una vez que termine la función
    run()
    .

Datacademy

Datacademy

Revive las clases en vivo del reto Datacademy, un reto en donde por 5 semanas miles de estudiantes iniciaron su carrera en data science.

Datacademy
Datacademy

Datacademy

Revive las clases en vivo del reto Datacademy, un reto en donde por 5 semanas miles de estudiantes iniciaron su carrera en data science.