Menú de texto con bucle infinito en Python
- Menú de texto con bucle infinito en Python
-
Terminar el menú de texto con un bucle infinito usando la instrucción
break
en Python -
Terminar el menú de texto con bucle infinito usando la variable
Bandera
en Python - Conclusión
Podemos usar el bucle while
y las declaraciones if-else
para implementar varias herramientas en un programa de Python. Este artículo creará un menú de texto con un bucle infinito en Python.
Menú de texto con bucle infinito en Python
Usaremos un bucle while
con sentencias condicionales para crear un menú de texto con un bucle infinito. Dentro del bucle while
, primero le mostraremos al usuario varias opciones y, después de mostrar las opciones, tomaremos información del usuario.
Después de tomar la entrada, el programa imprimirá la salida deseada. Finalmente, el programa imprimirá las opciones.
Esto continuará hasta que el usuario finalice el programa manualmente.
Para entender esto, considere el siguiente programa.
def options():
print("Enter 1 to print 'Hi'.")
print("Enter 2 to print 'Hello'.")
print("Enter 3 to print 'Namaste'.")
print("Enter 4 to print 'Bonjour'.")
print("Enter 5 to print 'Hola'.")
while True:
options()
option = int(input())
if option == 1:
print("Hi")
elif option == 2:
print("Hello")
elif option == 3:
print("Namaste")
elif option == 4:
print("Bonjour")
elif option == 5:
print("Hola")
Producción :
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
1
Hi
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
2
Hello
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
^D
Traceback (most recent call last):
File "/home/aditya1117/PycharmProjects/pythonProject/webscraping.py", line 11, in <module>
option = int(input())
EOFError: EOF when reading a line
En el código anterior, primero hemos definido la función options()
para imprimir varias opciones disponibles para el usuario. Después de eso, creamos un bucle while
.
Dentro del bucle while
, primero ejecutamos la función options()
. Después de eso, le pedimos al usuario que ingrese un número.
Posteriormente, convertimos la entrada en un número entero usando la función int()
porque la función input()
devolvió una cadena.
El programa imprimió un mensaje de acuerdo con la entrada. Después de eso, el programa volvió a mostrar las opciones.
Esto continuó hasta que el usuario finalizó manualmente el programa.
Como se explica en las siguientes secciones, podemos usar varias formas de terminar el bucle while
para avanzar en el programa.
Terminar el menú de texto con un bucle infinito usando la instrucción break
en Python
Le pediremos al usuario que presione cualquier número que no sean las opciones dadas para terminar el bucle while
. Después de eso, incluiremos un bloque else
en las declaraciones condicionales.
Si el usuario ingresa cualquier número diferente a las opciones especificadas, imprimiremos Bye
y saldremos del bucle while
usando la instrucción break
, como se muestra en el siguiente ejemplo.
def options():
print("Enter 1 to print 'Hi'.")
print("Enter 2 to print 'Hello'.")
print("Enter 3 to print 'Namaste'.")
print("Enter 4 to print 'Bonjour'.")
print("Enter 5 to print 'Hola'.")
print("Enter any other number to terminate.")
while True:
options()
option = int(input())
if option == 1:
print("Hi")
elif option == 2:
print("Hello")
elif option == 3:
print("Namaste")
elif option == 4:
print("Bonjour")
elif option == 5:
print("Hola")
else:
print("Bye")
break
Producción :
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
1
Hi
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
3
Namaste
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
12
Bye
En el ejemplo anterior, cuando el usuario ingresa cualquier número que no sea del 1 al 5, la ejecución del programa ingresa al bloque else
de las declaraciones condicionales. Por lo tanto, el programa imprime Bye
, y se ejecuta la sentencia break
.
Debido a esto, la ejecución del programa sale del bucle while
.
Terminar el menú de texto con bucle infinito usando la variable Bandera
en Python
En lugar de usar la instrucción break
, podemos usar una variable flag
para controlar la ejecución del bucle infinito. Primero, inicializaremos una variable flag
a True
antes de ejecutar el bucle while
.
Luego, ejecutaremos el bucle while
si la variable flag
es True
. Dentro del bucle while
, si el usuario ingresa cualquier número diferente a las opciones especificadas, imprimiremos Bye
y asignaremos el valor False
a la variable flag
.
Una vez que la variable flag
se convierte en False
, la ejecución del bucle while
terminará automáticamente. Puedes observar esto en el siguiente código.
def options():
print("Enter 1 to print 'Hi'.")
print("Enter 2 to print 'Hello'.")
print("Enter 3 to print 'Namaste'.")
print("Enter 4 to print 'Bonjour'.")
print("Enter 5 to print 'Hola'.")
print("Enter any other number to terminate.")
flag = True
while flag:
options()
option = int(input())
if option == 1:
print("Hi")
elif option == 2:
print("Hello")
elif option == 3:
print("Namaste")
elif option == 4:
print("Bonjour")
elif option == 5:
print("Hola")
else:
print("Bye")
flag = False
Producción :
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
1
Hi
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
3
Namaste
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
12
Bye
En el ejemplo anterior, una vez que la variable flag
se convierte en False
, la ejecución del bucle while
finaliza. Esto se debe a que el intérprete de Python primero verifica si la variable flag
contiene el valor True
; si es así, entonces sólo se ejecuta el bucle while
.
Una vez que asignamos el valor False
a la variable flag
, el intérprete comprueba el valor en la variable flag
antes de la siguiente ejecución del bucle while
. Al ver que el valor de la variable flag
es False
, finaliza el bucle while
.
Conclusión
En este artículo, creamos un menú de texto con un bucle infinito usando el bucle while
y declaraciones condicionales en Python. También discutimos cómo podríamos terminar la ejecución del bucle infinito utilizando una sentencia break
y una variable flag
.
Aditya Raj is a highly skilled technical professional with a background in IT and business, holding an Integrated B.Tech (IT) and MBA (IT) from the Indian Institute of Information Technology Allahabad. With a solid foundation in data analytics, programming languages (C, Java, Python), and software environments, Aditya has excelled in various roles. He has significant experience as a Technical Content Writer for Python on multiple platforms and has interned in data analytics at Apollo Clinics. His projects demonstrate a keen interest in cutting-edge technology and problem-solving, showcasing his proficiency in areas like data mining and software development. Aditya's achievements include securing a top position in a project demonstration competition and gaining certifications in Python, SQL, and digital marketing fundamentals.
GitHub