Python的新功能:获取变量中的NameError

Python的新功能:获取变量中的NameError,python,Python,NameError:未定义名称“Brandon” 我在Python2.7.2中有一个简单的用户名/密码程序,不断收到这个愚蠢的错误消息 这是我的密码: Username = input ("Please enter your username: ") if Username == brandon: password = input ("Correct! Please enter password: ") if password == 42: print

NameError:未定义名称“Brandon”

我在Python2.7.2中有一个简单的用户名/密码程序,不断收到这个愚蠢的错误消息

这是我的密码:

Username = input ("Please enter your username: ")
if Username == brandon:
    password = input ("Correct! Please enter password: ")

    if password == 42:
            print "Access granted!"

    else:
            print "Wrong Password!"
else:
    print "Wrong username"

使用
raw\u input
代替
input

input
基本上正在运行
eval(原始输入(…)
)。你不想在这里做
eval


另外,您的
password==42
可能应该是
password==“42”
,因为
raw\u input
返回字符串。

使用
raw\u input
而不是
input

input
基本上正在运行
eval(原始输入(…)
)。你不想在这里做
eval


另外,您的
password==42
可能应该是
password==“42”
,因为
raw\u input
会返回一个字符串。

您应该使用raw\u input而不是input,因为input期望您输入的是python代码。更准确地说,您的问题在于
Username==brandon
brandon
将是一个变量<代码>'brandon'将是一个用于比较的字符串。

您应该使用原始输入而不是输入,因为输入要求您输入python代码。更准确地说,您的问题在于
Username==brandon
brandon
将是一个变量<代码>'brandon'将是一个用于比较的字符串。

我使用原始输入得到相同的结果,但我会再次检查。编辑:是的,得到相同的错误。我使用原始输入得到相同的结果,但我会再次检查。编辑:是的,得到同样的错误。非常感谢!我用原始输入也得到了同样的结果。不过,我不想把brandon放在引号里,因为我认为它会变成我不想要的东西,因为我现在只把它用于打印命令。@brandon-很高兴能帮上忙。请务必接受答案,以便继续从其他用户处收到高质量的答案。非常感谢!我用原始输入也得到了同样的结果。不过,我不想把brandon放在引号里,因为我认为它会变成我不想要的东西,因为我现在只把它用于打印命令。@brandon-很高兴能帮上忙。请确保接受答案,以便继续从其他用户处收到高质量的答案。
# raw_input() reads every input as a string
# then it's up to you to process the string
str1 = raw_input("Enter anything:")
print "raw_input =", str1

# input() actually uses raw_input() and then tries to
# convert the input data to a number using eval()
# hence you could enter a math expression
# gives an error if input is not numeric eg. $34.95
x = input("Enter a number:")
print "input =", x