Hola, quiero saber como puede hacer para que cuando se coloque una opción no valida, el programa no se cierre sino que vuelva a preguntar...

Pregunta de la clase:
Funciones y abstracción
Jeyson David Vargas Crespo

Jeyson David Vargas Crespo

Pregunta
studenthace 5 años

Hola, quiero saber como puede hacer para que cuando se coloque una opción no valida, el programa no se cierre sino que vuelva a preguntar, como lo hago.

Copio la parte del código para pedirle al usuario que elija la opción del algoritmo que quiere utilizar, por que el código de las funciones es el mismo.

print(‘Selecciona un numero para el algoritmo que quieras utilizar para sacar la raiz cuadrada’)

print('1: Algoritmos de Enumeracion\n2: Algoritmo de Aproximacion\n3: Busqueda Binaria ')

opcion = int(input('Selecciona el programa que quieres utilizar para resolver tu raiz: '))

while True:

if opcion == 1:

enumeracion()

break

elif opcion == 2:

aproximacion()

break

elif opcion == 3:

busqueda_binaria()

break

else:

print(“No es una opción válida”)

break

Agradezco mucho su ayuda…

5 respuestas
para escribir tu comentario
    Alexander Román

    Alexander Román

    studenthace 5 años

    con las excepciones , lo verás más adelantes

    Ángel David Roque Ayala

    Ángel David Roque Ayala

    studenthace 5 años

    Solucion 2: usar un try catch

    try: opcion = int(input('Opcion: ')) except ValueError: opcion = 'otro valor'

    Ejempo:

    while True: print('Selecciona (usando un numero) que algoritmo deseas ejecutar') print('1) Programas ramificados') print('2) Enumeracion exahustiva') print('3) Aproximacion de soluciones') print('4) Busqueda binaria') print('5) Salir') try: opcion = int(input('Opcion: ')) except ValueError: opcion = 'otro valor' if opcion == 1: programasRamificados() elif opcion == 2: enumeracionExahustiva() elif opcion == 3: aproximacion() elif opcion == 4: busquedaBinaria() elif opcion == 5: print('gracias por usar este software') break else: print('Opcion no valida, por favor elija un numero')```
    Ángel David Roque Ayala

    Ángel David Roque Ayala

    studenthace 5 años

    Solucion 1: Trabajar exlusivamente con cadenas

    while True: print('Selecciona (usando un numero) que algoritmo deseas ejecutar') print('1) Programas ramificados') print('2) Enumeracion exahustiva') print('3) Aproximacion de soluciones') print('4) Busqueda binaria') print('5) Salir') opcion = input('Opcion: ') if opcion == '1': programasRamificados() elif opcion == '2': enumeracionExahustiva() elif opcion == '3': aproximacion() elif opcion == '4': busquedaBinaria() elif opcion == '5': print('gracias por usar este software') break else: print('Opcion no valida, por favor elija un numero')```
    Ángel David Roque Ayala

    Ángel David Roque Ayala

    studenthace 5 años

    Hola jeydvc, buena pregunta.

    El programa se cierra cuando se llama la linea de código:

    opcion = int(input('Opcion: '))

    Debido a que la funcion int() intenta convertir a numeros caracteres que no lo son. Por ejemplo la cadena 'as', no es posible convertila a numero

Curso de Pensamiento Computacional con Python

Curso de Pensamiento Computacional con Python

Comienza tu camino en el desarrollo de software con el lenguaje de programación Python. Entiende la estructura de pensamiento necesaria para resolver problemas en programación. Domina las estructuras de control para crear soluciones. Conoce las características de Python que te permiten reutilizar código. Prueba tu código e implementa correcciones y mejoras.

Curso de Pensamiento Computacional con Python
Curso de Pensamiento Computacional con Python

Curso de Pensamiento Computacional con Python

Comienza tu camino en el desarrollo de software con el lenguaje de programación Python. Entiende la estructura de pensamiento necesaria para resolver problemas en programación. Domina las estructuras de control para crear soluciones. Conoce las características de Python que te permiten reutilizar código. Prueba tu código e implementa correcciones y mejoras.