1

Cómo hacer un bucle que obligue a introducir un dato correcto

Supongamos que tratamos de pedirle al usuario que seleccione 1 de 3 opciones, para ir a otra subtarea:

  • Menú
  • Opciones
  • Créditos

Procedemos a mostrarselo al usuario:

print('----------bienvenido----------')print('1. Menu')print('2. Opciones')print('3. Créditos')

Cómo estas opciones son concisas, no tenemos necesidad de cambiarlas, por lo que utilizaremos una tupla para definir nuestras opciones disponibles

my_option = ('menu','opciones','creditos')

Ahora procedemos a pedir una la opción al usuario y con la opción lower() convertimos la cadena de texto en minusculas para que coincidan con el contenido de la tupla anterior:

user= input('Introduce tu opción: ').lower()

Siguiendo con el proposito del Post, con un búcle while preguntamos si lo que esta en ‘user’ esta en la tupla, si no es verdad, lo negamos para que entre al menú otra vez y con un mensaje de advertencia

whilenot user in my_option:
  print('\n1. Menu')
  print('2. Opciones')
  print('3. Créditos')
  user = input('Opción no valida, elige una opción disponile: ')

Si en dado caso pone una opción correcta, le imprimimos su opción y para estética ponemos la primera letra en mayúscula con la función ‘capitalize()’

print('elegiste -', user.capitalize())
Escribe tu comentario
+ 2