首先,抱歉。我是Android设备上编程和编程的新手,但出于某种原因我去编译这段代码并使用Python For Android运行它。它不断返回此错误:
文件“/storage/emulated/programming/pass.py”,第4行,在中 username = input(“Username:”)File“”,第1行,in NameError:未定义名称“user”
security = 0
username = ""
while not username:
username = input("username: ")
password = ""
while not password:
password = input("password: ")
if username == "user" and password == "pass":
security = 5
print (" Hello, security level is:" , security)
else:
print("invalid login")
现在,当我在PC上运行相同的代码时,我没有收到此错误。有人在这里熟悉使用Python For Android和Droidedit编写Python代码吗?我已经安装了所有可用的模块。
答案 0 :(得分:3)
我猜p4a不是py3.0 +因此你需要raw_input
而不是input
raw_input
中的与python3 +中的input
相同
在python2中使用input
与在python 3中使用eval(input("Username:"))
相同
>>> x = raw_input("Enter Equation:")
Enter Equation: 5 + 3
>>> print repr(x)
'5 + 3'
>>> y = input("Enter Equation:") #this is the same as eval(input(msg)) in py3+
Enter Equation: 5 + 3
>>> print repr(y)
`8`
有关您的错误的更多信息。在python2输入中尝试将用户输入计算为python代码。您输入“user”作为用户名。然后python尝试将其转换为代码,将其解释为变量。例如,如果您输入543作为用户名,它将正常工作。另外如果你输入“user”包括引号它会正常工作,因为它们都会评估为python值(引号使它成为字符串而不是变量,python知道什么是int)