我用python编写了一个登录程序,没有任何GUI。 我知道这是最简单的一个,但我不明白这个问题。
class login:
def __init__(self,id,pas):
self.id="admin"
self.pas="admin"
def check(id,pas):
print self.id
print lod.id
if(self.id==log.id and self.pas==log.pas):
print "Login success!"
log=login("","")
log.check(raw_input("Enter Login ID:"),
input("Enter password: "))
print "Login Page"
错误: 输入登录ID:admin 输入密码:admin
Traceback (most recent call last):
File "C:/Python27/login.py", line 15, in <module>
input("Enter password: "))
File "<string>", line 1, in <module>
NameError: name 'admin' is not defined
您使用了
input()
而不是raw_input()
作为密码。input()
相当于eval(raw_input())
;如果键入admin
作为密码,则将其解释为Python代码。admin
然后被解释为变量名,并且由于该名称在代码中不存在,因此会引发NameError
。使用:
相反。
接下来,您的
check()
方法将无法工作,因为您忘记了self
参数,并试图引用不存在的名称lod
。下面的方法会更好:试试这个。
好吧,我不需要在check函数中添加id和pas参数,因为我已经在主函数中有了它。我更喜欢称self方法和用于身份验证的“if”
相关问题 更多 >
编程相关推荐