我终于决定开始学习python作为我的第一语言,到目前为止我喜欢它。我;使用python3和IDLE3。当写一个简单的密码提示我遇到问题:/ script如下。
import sys
password = input("Enter your password: ")
if password != "pword" :
sys.exit()
print("Password correct")
现在,当我运行脚本并输入pass作为密码时,我收到以下错误:
root@kali:~/Desktop# python password1.py
Enter your password: pword
Traceback (most recent call last):
File "password1.py", line 2, in <module>
password = input("Enter your password: ")
File "<string>", line 1, in <module>
NameError: name 'pword' is not defined
提前感谢您的帮助,感谢您。
答案 0 :(得分:1)
正在发生两件事之一。任
A)您的副本错误,您的脚本实际上是
...
if password != pword: # note the lack of quotes
...
或B)您正在使用Python 2
import sys
print(sys.version)
# should show 3.x.y per your question, but if it's showing 2.x.y, that'd be why
Python2与Python3重要的原因是input
内置函数在两者之间的工作方式不同。在Python2中,input
尝试解析命名空间内的用户输入,例如
# Python2
>>> foo = "bar"
>>> spam = input("enter something: ")
enter something: foo
>>> print(spam)
bar
虽然Python3只是将输入作为字符串
返回# Python3
>>> foo = "bar"
>>> spam = input("enter something: ")
enter something: foo
>>> print(spam)
foo