如何在Python中使用字符串文字退出循环?

时间:2015-11-13 02:42:31

标签: python loops break nameerror

出于某种原因,当我尝试执行此代码时,我收到NameError异常:

while True:
    fileString = input("Enter your command: ")
    print(fileString)
    if fileString is "end":
        break
    else:
        print("\nSomething went wrong! Please try again.")
        continue
print("The program will now shut down.")

我想在输入中输入“end”时打破循环。

3 个答案:

答案 0 :(得分:3)

if fileString is "end"

这一行是你的问题,将fileString的相等性与" end"使用==(测试值相等)而不是is(测试指针相等)。

另外,我建议删除第8行的冗余continue

答案 1 :(得分:3)

Two things to note here.  
(1) Use raw_input(), and not input(). With integers, input() will be ok  
    But you seem to be entering string.  
    fileString = raw_input("Enter your command: ")
(2) Change the if statement to  
    if fileString == "end":

答案 2 :(得分:0)

在Python中,'是'对身份的测试。要测试相等性,请将'is'替换为'=='。它可能会起作用。