
Jeyson David Vargas Crespo
PreguntaHola, 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…

Hernán Andrés Hernández Alemán
yo lo hice con condivionales y al final si no se cumple la condivion envia de nuevo la funcion si quiere miras el codigo aca https://www.github.com/Hernan-Hernandezz/logica/tree/master/funcion_raiz.py

Alexander Román
con las excepciones , lo verás más adelantes

Ángel David Roque Ayala
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
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
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