Python 中带有无限循环的文本菜单

Aditya Raj 2023年1月30日
  1. Python 中带有无限循环的文本菜单
  2. 使用 Python 中的 break 语句以无限循环终止文本菜单
  3. 使用 Python 中的 Flag 变量以无限循环终止文本菜单
  4. 结论
Python 中带有无限循环的文本菜单

我们可以使用 while 循环和 if-else 语句在 Python 程序中实现各种工具。本文将在 Python 中创建一个带有无限循环的文本菜单。

Python 中带有无限循环的文本菜单

我们将使用带有条件语句的 while 循环来创建一个带有无限循环的文本菜单。在 while 循环中,我们将首先向用户显示几个选项,在显示选项后,我们将接受用户的输入。

接受输入后,程序将打印所需的输出。最后,程序将打印选项。

这将一直持续到用户手动终止程序。

要理解这一点,请考虑以下程序。

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

输出:

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

在上面的代码中,我们首先定义了函数 options() 来打印用户可用的各种选项。之后,我们创建了一个 while 循环。

while 循环中,我们首先执行 options() 函数。之后,我们要求用户输入一个数字。

随后,我们使用 int() 函数将输入转换为整数,因为 input() 函数返回一个字符串。

程序根据输入打印一条消息。之后,程序再次显示选项。

这种情况一直持续到用户手动终止程序。

正如以下部分所讨论的,我们可以使用几种方法来终止 while 循环以进入程序。

使用 Python 中的 break 语句以无限循环终止文本菜单

我们将要求用户按给定选项以外的任何数字来终止 while 循环。之后,我们将在条件语句中包含一个 else 块。

如果用户输入指定选项以外的任何其他数字,我们将打印 Bye 并使用 break 语句移出 while 循环,如下例所示。

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

输出:

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

在上面的例子中,当用户输入 1 到 5 以外的任何数字时,程序执行进入条件语句的 else 块。因此,程序打印 Bye,并执行 break 语句。

因此,程序的执行移出 while 循环。

使用 Python 中的 Flag 变量以无限循环终止文本菜单

除了使用 break 语句,我们可以使用 flag 变量来控制无限循环的执行。首先,我们将在执行 while 循环之前将 flag 变量初始化为 True

然后,如果 flag 变量为 True,我们将执行 while 循环。在 while 循环中,如果用户输入了指定选项以外的任何其他数字,我们将打印 Bye 并将值 False 分配给 flag 变量。

一旦 flag 变量变为 Falsewhile 循环执行将自动终止。你可以在以下代码中观察到这一点。

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

输出:

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

在上面的示例中,一旦 flag 变量变为 Falsewhile 循环的执行将终止。这是因为 Python 解释器首先检查 flag 变量是否包含值 True;如果是,则只执行 while 循环。

一旦我们将值 False 分配给 flag 变量,解释器在下一次执行 while 循环之前检查 flag 变量中的值。当看到 flag 变量中的值是 False 时,它终止 while 循环。

结论

在本文中,我们使用 Python 中的 while 循环和条件语句创建了一个带有无限循环的文本菜单。我们还讨论了如何使用 break 语句和 flag 变量终止无限循环的执行。

作者: 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

相关文章 - Python Loop