Python while循环与用户输入

lee*_*fry 2 python user-input while-loop

我有这个简单的小程序,它不起作用.我希望程序不断询问用户我的名字,直到他们猜到.

第一次尝试后,程序将抛出错误消息.我无法解决问题所在.

name = "not_aneta"

while name != "aneta":
    name = input("What is my name? ")

if name == "aneta":
    print "You guessed my name!"
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到一条错误消息:

Traceback (most recent call last):
  File "C:\Users\Aneta\Desktop\guess_my_name.py", line 4, in <module>
    name = input("What is my name? ")
  File "<string>", line 1, in <module>
NameError: name 'aneta' is not defined
Run Code Online (Sandbox Code Playgroud)

Avi*_*ión 7

你必须使用raw_input(input尝试将输入作为python表达式运行,这不是你想要的)并修复缩进问题.

name = "not_aneta"

while name!= "aneta":
    name = raw_input("What is my name? ")

    if name == "aneta":
        print "You guessed my name!"
Run Code Online (Sandbox Code Playgroud)

  • 实际上我们这里不需要`if`.你可以把'print'你猜到我的名字!"`在`while`循环之外.或者为了更清楚,你可以使用'else`之类的`else:print"你猜对了我的名字!"`. (2认同)