這個程序管理用於登錄系統的用戶信息:登錄名字和密碼。登錄用戶賬號建立後,已存在用戶可以用登錄名字和密碼重返系統。新用戶不能用別人的登錄名建立用戶賬號。
#!/usr/bin/env python
db={}
def newuser():
prompt='login desired:'
while True:
name=raw_input(prompt)
if db.has_key(name):
prompt='name taken,try another:'
continue
else:
break
pwd=raw_input('passwd:')
db[name]=pwd
def olduser():
name=raw_input('login:')
pwd=raw_input('passwd:')
passwd=db.get(name)
if passwd == pwd:
print 'welcome back',name
else:
print 'login incorrect'
def showmenu():
prompt="""
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice:"""
done = False
while not done:
chosen=False
while not chosen:
try:
choice = raw_input(prompt).strip()[0].lower()
except (EOFError,KeyboardInterrupt):
choic='q'
print '\nYou picked:[%s]' % choice
if choice not in 'neq':
print 'invalid option,try again'
else:
chosen = True
if choice=='q':done=True
if choice=='n':newuser()
if choice=='e':olduser()
if __name__=='__main__':
showmenu()