我已经创建了一个脚本来检查变量是否与输入变量相同:
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
但是每当我为输入键入一个字母时,它都会抛出一个NameError,但它可以正常使用数字。
错误:
d={'a': ['apple'], 'd': ['dog', 'dance', 'dragon'], 'r': ['robot'], 'c': ['cow', 'cotton']}
答案 0 :(得分:1)
您需要在python 2上使用raw_input
而不是input
。
使用input
尝试评估您传递的任何内容。在整数的情况下,它只是解析为该整数。在字符串的情况下,它会尝试找到该变量名称并导致您的错误。
您可以输入密码&#39;进行确认。例如密码,您的输入调用将返回对password
函数的引用。
相反,raw_input
始终返回包含用户键入的字符的字符串。通过尝试将用户键入的内容转换回字符串来判断,这正是您想要的。
userPassword = raw_input("Type Your Password: ")
答案 1 :(得分:0)
对于Python 2.7,您需要使用raw_input()
而不是input()
,input()
实际上将输入评估为Python代码。 raw_input()
返回用户输入的逐字字符串。
请参阅Python 2.7 getting user input and manipulating as string without quotations