使用输入的 NameError - Python 2.7
NameError Using Input - Python 2.7
我制作了一个脚本来检查变量是否与输入变量相同:
def password():
userPassword = str(input("Type Your Password: "))
if userPassword == storedPassword:
print 'Access Granted'
else:
print 'Access Denied'
password()
然而,每当我为输入键入一个字母时,它都会抛出一个 NameError,但它可以很好地处理数字。
错误:
Traceback (most recent call last):
File "C:\Users\***\Desktop\Test\Script.py", line 16, in <module>
password()
File "C:\Users\***\Desktop\Test\Script.py", line 9, in password
userPassword = str(input("Type Your Password: "))
File "<string>", line 1, in <module>
NameError: name 'f' is not defined
对于Python 2.7你需要使用raw_input()
而不是input()
,input()
实际上将输入计算为Python代码。 raw_input()
returns 用户输入的逐字字符串。
您需要在 python 上使用 raw_input
而不是 input
2.
使用 input
尝试评估您传递的任何内容。在整数的情况下,它只是解析为该整数。在字符串的情况下,它会尝试查找该变量名称并导致您的错误。
您可以通过输入 'password'(例如密码)来确认这一点,这样您的输入调用 return 将引用您的 password
函数。
相反,raw_input
始终是 return 包含用户键入的字符的字符串。从您尝试将用户键入的任何内容转换回字符串的尝试来看,这正是您想要的。
userPassword = raw_input("Type Your Password: ")
我制作了一个脚本来检查变量是否与输入变量相同:
def password():
userPassword = str(input("Type Your Password: "))
if userPassword == storedPassword:
print 'Access Granted'
else:
print 'Access Denied'
password()
然而,每当我为输入键入一个字母时,它都会抛出一个 NameError,但它可以很好地处理数字。
错误:
Traceback (most recent call last):
File "C:\Users\***\Desktop\Test\Script.py", line 16, in <module>
password()
File "C:\Users\***\Desktop\Test\Script.py", line 9, in password
userPassword = str(input("Type Your Password: "))
File "<string>", line 1, in <module>
NameError: name 'f' is not defined
对于Python 2.7你需要使用raw_input()
而不是input()
,input()
实际上将输入计算为Python代码。 raw_input()
returns 用户输入的逐字字符串。
您需要在 python 上使用 raw_input
而不是 input
2.
使用 input
尝试评估您传递的任何内容。在整数的情况下,它只是解析为该整数。在字符串的情况下,它会尝试查找该变量名称并导致您的错误。
您可以通过输入 'password'(例如密码)来确认这一点,这样您的输入调用 return 将引用您的 password
函数。
相反,raw_input
始终是 return 包含用户键入的字符的字符串。从您尝试将用户键入的任何内容转换回字符串的尝试来看,这正是您想要的。
userPassword = raw_input("Type Your Password: ")