NameError使用输入 - Python 2.7

时间:2017-10-25 01:41:30

标签: python python-2.7 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

但是每当我为输入键入一个字母时,它都会抛出一个NameError,但它可以正常使用数字。

错误:

d={'a': ['apple'], 'd': ['dog', 'dance', 'dragon'], 'r': ['robot'], 'c': ['cow', 'cotton']}

2 个答案:

答案 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