添加一个while循环以继续询问名称,直到用户键入退出为止

时间:2019-07-11 16:13:37

标签: python loops while-loop

在用户键入退出之前,我不知道如何添加while循环来不断询问姓名。

我在语法上尝试了不同的方法,但是最接近的是您所看到的代码。我刚刚开始编码,所以我是新手。

name = input('Enter your name, or type quit to exit ')
keep_going = True
while keep_going:
    if name == "quit":
        keep_going = False

在程序开始时,我输入的所有内容都会让我进入,这是不应该发生的。应该发生的是输入任何应该让我输入的名称,然后键入“ quit”应该不断提示我输入新答案。

该过程也将在我的代码结尾处翻转...如果我键入“ quit”,它将启动程序,如果我键入任何其他名称,则它将在我的编码的最后一步结束该程序。步骤7:添加输入语句以输入名称或键入quit退出

3 个答案:

答案 0 :(得分:0)

您需要将输入放入循环中。同样退出循环会继续执行程序,而不会退出程序。您可以使用sys.exit()来这样做。

我不确定您算什么名字,但是在此示例中,该词的长度至少为1个字母。然后输入“ quit”(不区分大小写,因为我在字符串上调用.lower())退出程序。

import sys
name = ""
while len(name) > 0: # user must enter a name at least 1 character long to proceed
    name = input('Enter your name, or type quit to exit ')
    if name.lower() == "quit":
        sys.exit() # when the user enters exit, exit the program

如果您有一个定义名称的函数:validName(name),您也可以这样做:

while not validName(name):

答案 1 :(得分:0)

尝试以下代码:

name = input('Name: ')

if name == 'quit':
    keep_going = False
else:
    keep_going = True
# other code...

答案 2 :(得分:0)

当前,您只问一次问题,然后进入循环。通过输入“ quit”,可以退出循环,但是如果您不键入quit,则循环是无限的,因为用户没有机会输入新名称。首先,您需要将输入语句放入while循环中,以便不断重复并回答问题。

keep_going = True
while keep_going:
     name = input('Enter your name, or type quit to exit ')
     if name == "quit":
        keep_going = False