我试图搜索此错误,但我没有找到它,所以这里是:
我尝试在linux中运行的python 3脚本中输入输入,该脚本只能是0-5。 我使用以下代码执行此操作:
while True:
type = input("Please choose a type:\n1) a\n2) b\n3) c\n4) d\n0) EXIT\n"))
if type == "0":
sys.exit()
elif type == "1" or type == "2" or type == "3" or type == "4":
print("You entered: %s" %type )
break
else:
os.system("clear")
print("Input entered is invalid, please try again.\n")
当我输入数字时,程序运行正常,但是当我输入一个字母时它会崩溃。 请帮忙:(
Traceback (most recent call last):
File "test.py", line 21, in <module>
type = input("Please choose a type:\n1) a\n2) b\n3) c\n4) d\n0) EXIT\n"))
File "<string>", line 1, in <module>
NameError: name 'h' is not defined
答案 0 :(得分:1)
input
相当于eval(raw_input(prompt))
表示您的输入被解释。这意味着数字,函数,var将起作用,但不起作用。
请改用raw_input
。 (见http://docs.python.org/2/library/functions.html#raw_input)
Nota:这是有效的python 2,你提到python 3.但是,我认为你实际上是在使用python 2,因为你的提示以\ n结尾,它包含在python 3中,并且当你的脚本工作时python 3