Textmenü mit Endlosschleife in Python

Aditya Raj 30 Januar 2023 18 August 2022 Python Python Loop
  1. Textmenü mit Endlosschleife in Python
  2. Beenden Sie das Textmenü mit Endlosschleife mit der break-Anweisung in Python
  3. Beenden Sie das Textmenü mit Endlosschleife mit der Variablen Flag in Python
  4. Fazit
Textmenü mit Endlosschleife in Python

Wir können die while-Schleife und if-else-Anweisungen verwenden, um verschiedene Tools in einem Python-Programm zu implementieren. Dieser Artikel erstellt ein Textmenü mit einer Endlosschleife in Python.

Textmenü mit Endlosschleife in Python

Wir werden eine while-Schleife mit bedingten Anweisungen verwenden, um ein Textmenü mit einer Endlosschleife zu erstellen. Innerhalb der while-Schleife zeigen wir dem Benutzer zunächst mehrere Optionen, und nachdem wir die Optionen angezeigt haben, nehmen wir Eingaben vom Benutzer entgegen.

Nach der Eingabe druckt das Programm die gewünschte Ausgabe. Schließlich druckt das Programm die Optionen.

Dies wird fortgesetzt, bis das Programm manuell durch den Benutzer beendet wird.

Um dies zu verstehen, betrachten Sie das folgende Programm.

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

Ausgabe:

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

Im obigen Code haben wir zuerst die Funktion options() definiert, um verschiedene Optionen auszudrucken, die dem Benutzer zur Verfügung stehen. Danach haben wir eine while-Schleife erstellt.

Innerhalb der while-Schleife haben wir zuerst die options()-Funktion ausgeführt. Danach haben wir den Benutzer gebeten, eine Nummer einzugeben.

Anschließend haben wir die Eingabe mit der Funktion int() in eine Ganzzahl umgewandelt, da die Funktion input() einen String zurücklieferte.

Das Programm hat entsprechend der Eingabe eine Nachricht ausgegeben. Danach zeigte das Programm erneut die Optionen an.

Dies wurde fortgesetzt, bis der Benutzer das Programm manuell beendete.

Wie in den folgenden Abschnitten besprochen, können wir die while-Schleife auf verschiedene Arten beenden, um in das Programm zu gelangen.

Beenden Sie das Textmenü mit Endlosschleife mit der break-Anweisung in Python

Wir werden den Benutzer auffordern, eine andere Zahl als die angegebenen Optionen zu drücken, um die while-Schleife zu beenden. Danach fügen wir einen else-Block in die bedingten Anweisungen ein.

Wenn der Benutzer eine andere Zahl als die angegebenen Optionen eingibt, geben wir Bye aus und verlassen die while-Schleife mit der break-Anweisung, wie im folgenden Beispiel gezeigt.

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

Ausgabe:

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

Wenn der Benutzer im obigen Beispiel eine andere Zahl als 1 bis 5 eingibt, tritt die Programmausführung in den else-Block der bedingten Anweisungen ein. Daher gibt das Programm Bye aus und die break-Anweisung wird ausgeführt.

Dadurch verlässt die Ausführung des Programms die while-Schleife.

Beenden Sie das Textmenü mit Endlosschleife mit der Variablen Flag in Python

Anstatt die Anweisung break zu verwenden, können wir eine flag-Variable verwenden, um die Ausführung der Endlosschleife zu steuern. Zuerst initialisieren wir eine flag-Variable auf True, bevor wir die while-Schleife ausführen.

Dann führen wir die while-Schleife aus, wenn die flag-Variable True ist. Wenn der Benutzer innerhalb der while-Schleife eine andere Zahl als die angegebenen Optionen eingibt, geben wir Bye aus und weisen der Variable flag den Wert False zu.

Sobald die Variable flag False wird, wird die Ausführung der while-Schleife automatisch beendet. Sie können dies im folgenden Code beobachten.

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

Ausgabe:

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

Im obigen Beispiel wird die Ausführung der while-Schleife beendet, sobald die flag-Variable False wird. Denn der Python-Interpreter prüft zunächst, ob die Variable flag den Wert True enthält; wenn ja, dann wird nur die while-Schleife ausgeführt.

Sobald wir der Variable flag den Wert False zuweisen, prüft der Interpreter den Wert in der Variablen flag vor der nächsten Ausführung der while-Schleife. Wenn festgestellt wird, dass der Wert in der Variable flag False ist, wird die while-Schleife beendet.

Fazit

In diesem Artikel haben wir ein Textmenü mit einer Endlosschleife erstellt, indem wir die while-Schleife und bedingte Anweisungen in Python verwendet haben. Wir haben auch diskutiert, wie wir die Ausführung der Endlosschleife mit einer break-Anweisung und einer flag-Variable beenden könnten.

Verwandter Artikel - Python Loop

  • Zugriff auf den Index in 'Foreach'-Schleifen in Python
  • Beenden der While-Schleife in Python
  • Lambda-Funktionen mit der for-Schleife in Python verwenden
  • Neustart einer Schleife in Python
  • Start einer for-Schleife bei 1 in Python