有一些小程序要求输入为char - y,b,s,然后通过比较来检查输入是什么。
我运行程序时遇到的问题是 -
NameError:名称'b'未定义
如果输入是,例如b。
这是我的代码:
print("Please think of a number between 1 and 7")
print("Is it 4? (y,s,b)")
answer=char(input())
if (answer=='y'):
print("It is Four!")
elif (answer=='s'):
print("Is it 2? (y,s,b)")
answer=input()
if (answer=='y'):
print("It is two!")
elif (answer=='s'):
print("It is one!")
elif (answer=='b'):
print("It is Three!")
elif (answer=='b'):
print("Is it 6? (y,s,b)")
answer=input()
if (answer=='y'):
print("It is Six!")
elif (answer=='s'):
print("It is Five!")
elif (answer=='b'):
print("It is Seven!")
答案 0 :(得分:3)
由于您似乎使用的是Python 2,因此需要使用raw_input()
而不是input()
。不同之处在于后者试图评估您输入的表达式。例如,如果您输入b
,则会查找名为b
的变量。
在Python 3中,没有raw_input()
,input()
不再评估表达式。换句话说,Python3的input()
表现得像Python2的raw_input()
。