Menu texte avec boucle infinie en Python

Aditya Raj 30 janvier 2023
  1. Menu texte avec boucle infinie en Python
  2. Terminer le menu texte avec une boucle infinie à l’aide de l’instruction break en Python
  3. Terminer le menu texte avec une boucle infinie à l’aide de la variable Flag en Python
  4. Conclusion
Menu texte avec boucle infinie en Python

Nous pouvons utiliser la boucle while et les instructions if-else pour implémenter divers outils dans un programme Python. Cet article va créer un menu texte avec une boucle infinie en Python.

Nous allons utiliser une boucle while avec des instructions conditionnelles pour créer un menu textuel avec une boucle infinie. À l’intérieur de la boucle while, nous allons d’abord montrer à l’utilisateur plusieurs options, et après avoir montré les options, nous prendrons l’entrée de l’utilisateur.

Après avoir pris l’entrée, le programme imprimera la sortie souhaitée. Enfin, le programme imprimera les options.

Cela continuera jusqu’à ce que le programme soit terminé manuellement par l’utilisateur.

Pour comprendre cela, considérons le programme suivant.

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")

Production:

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

Dans le code ci-dessus, nous avons d’abord défini la fonction options() pour afficher les différentes options disponibles pour l’utilisateur. Après cela, nous avons créé une boucle while.

Dans la boucle while, nous avons d’abord exécuté la fonction options(). Après cela, nous avons demandé à l’utilisateur d’entrer un numéro.

Par la suite, nous avons converti l’entrée en un entier à l’aide de la fonction int() car la fonction input() a renvoyé une chaîne.

Le programme a imprimé un message en fonction de l’entrée. Après cela, le programme a de nouveau affiché les options.

Cela a continué jusqu’à ce que l’utilisateur termine manuellement le programme.

Comme discuté dans les sections suivantes, nous pouvons utiliser plusieurs façons de terminer la boucle while pour avancer dans le programme.

Terminer le menu texte avec une boucle infinie à l’aide de l’instruction break en Python

Nous demanderons à l’utilisateur d’appuyer sur n’importe quel chiffre autre que les options données pour terminer la boucle while. Après cela, nous inclurons un bloc else dans les instructions conditionnelles.

Si l’utilisateur saisit un autre nombre que les options spécifiées, nous afficherons Bye et sortirons de la boucle while à l’aide de l’instruction break, comme illustré dans l’exemple suivant.

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

Production:

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

Dans l’exemple ci-dessus, lorsque l’utilisateur entre un nombre autre que 1 à 5, l’exécution du programme entre dans le bloc else des instructions conditionnelles. Par conséquent, le programme imprime Bye et l’instruction break est exécutée.

De ce fait, l’exécution du programme sort de la boucle while.

Terminer le menu texte avec une boucle infinie à l’aide de la variable Flag en Python

Au lieu d’utiliser l’instruction break, nous pouvons utiliser une variable flag pour contrôler l’exécution de la boucle infinie. Dans un premier temps, nous allons initialiser une variable flag à True avant d’exécuter la boucle while.

Ensuite, on exécutera la boucle while si la variable flag vaut True. À l’intérieur de la boucle while, si l’utilisateur saisit un autre nombre que les options spécifiées, nous afficherons Bye et attribuerons la valeur False à la variable flag.

Une fois que la variable flag devient False, l’exécution de la boucle while se terminera automatiquement. Vous pouvez observer cela dans le code suivant.

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

Production:

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

Dans l’exemple ci-dessus, une fois que la variable flag devient False, l’exécution de la boucle while est terminée. En effet, l’interpréteur Python vérifie d’abord si la variable flag contient la valeur True ; si oui, alors seule la boucle while est exécutée.

Une fois que nous avons attribué la valeur False à la variable flag, l’interpréteur vérifie la valeur dans la variable flag avant la prochaine exécution de la boucle while. En voyant que la valeur de la variable flag est False, il termine la boucle while.

Conclusion

Dans cet article, nous avons créé un menu texte avec une boucle infinie en utilisant la boucle while et des instructions conditionnelles en Python. Nous avons également discuté de la manière dont nous pourrions terminer l’exécution de la boucle infinie en utilisant une instruction break et une variable flag.

Auteur: Aditya Raj
Aditya Raj avatar Aditya Raj avatar

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

Article connexe - Python Loop