我有一大段代码如下:
maybeYes = input("Please enter Yes to start.")
if maybeYes == "Yes":
pass
else:
print "Wrong answer."
它给出了以下错误:
NameError: name 'Yes' is not defined
我该如何解决?
我有一大段代码如下:
maybeYes = input("Please enter Yes to start.")
if maybeYes == "Yes":
pass
else:
print "Wrong answer."
它给出了以下错误:
NameError: name 'Yes' is not defined
我该如何解决?
假设这是 python,请使用 raw_input 而不是 input。输入被认为是危险的,因为它会评估您输入的任何内容,所以如果您这样做:
x = input()
并输入 2+4,x 将等于 6。 raw_input 只是给你输入的字符串。
使用raw_input()
代替input()
:
>>> maybeYes = raw_input("Please enter Yes to start ")
Please enter Yes to start yes
>>> maybeYes
'yes'
想象一下,input()
如果您要直接在解释器中输入,那么pythonyes
需要'yes'
知道您的意思是 string yes
。
编辑:
您需要使用while
循环。
while raw_input("Please enter Yes to start: ") != 'Yes':
print 'Wrong'
print 'Correct'
print 'Doing something else...'
#Carry on here
输出:
Please enter Yes to start: nowg
Wrong
Please enter Yes to start: wggwe
Wrong
Please enter Yes to start: Yes
Correct
Doing something else...
此版本将接受“是”的任何变体,例如“是”、“是”、“是”、“是”等。
answer = raw_input('Please enter Yes to start: ')
while answer.upper() != 'YES':
print 'Sorry, your entered something else'
answer = raw_input('Please enter Yes to start: ')
print "Thank you, you entered ", answer