Python新手:变量中出现NameError
出现了一个错误:NameError: name 'Brandon' is not defined
我在用Python 2.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"
3 个回答
0
在编程中,有时候我们需要把一些信息存储起来,以便后续使用。这就像把东西放进一个盒子里,等需要的时候再拿出来。
有一种叫做“数组”的东西,可以帮助我们存储多个相同类型的数据。想象一下,数组就像一个长长的书架,每个书架上的位置都可以放一本书。你可以通过书架的位置来找到你想要的书。
在数组中,每个位置都有一个编号,从0开始。比如,如果你有一个包含5本书的书架,书的编号分别是0、1、2、3和4。你可以通过这些编号来访问每一本书。
使用数组的好处是,你可以一次性处理很多数据,而不需要一个一个地去管理它们。这让编程变得更加高效和方便。
总之,数组就像一个整齐的书架,帮助我们把很多相同类型的信息放在一起,方便我们随时取用。
# 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
4
使用 raw_input
而不是 input
。
input
实际上是在执行 eval(raw_input(...))
。而你不想在这里使用 eval
。
另外,你的 password == 42
可能应该改成 password == "42"
,因为 raw_input
返回的是一个字符串。
7
你应该使用 raw_input 而不是 input,因为 input 期待你输入的是 Python 代码。更准确地说,你的问题出在 Username == brandon
这行。这里的 brandon
是一个变量,而 'brandon'
是一个字符串,用来进行比较。