字符串比较 - 未定义的值

时间:2013-03-12 09:11:17

标签: python

有一些小程序要求输入为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!")

1 个答案:

答案 0 :(得分:3)

由于您似乎使用的是Python 2,因此需要使用raw_input()而不是input()。不同之处在于后者试图评估您输入的表达式。例如,如果您输入b,则会查找名为b的变量。

在Python 3中,没有raw_input()input()不再评估表达式。换句话说,Python3的input()表现得像Python2的raw_input()