先给出如下所示代码:
db={}
def newuser():
prompt='login desired:'
while True:
name=input(prompt)
if name in db:
prompt='name taken,try another:'
continue
else:
break
pwd=input('password:')
db[name]=pwd
def olduser():
name=input('login:')
pwd=input('password:')
password=db.get(name)
if password==pwd:
print('###Password confirmed. Hi! '+name)
else:
print('###Wrong Prassword.')
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=input(prompt).strip()[0].lower()
except(EOFError,KeyboardInterrupt):
choice='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()
只是一个小练习,不难理解。这回用的是if语句来控制函数的选择,而不是用之前的CMDs,键值对的那种。
最后print语句还是有点不习惯,中觉得python3怪怪的,,,,%choice要放在括号里,而不是外面。。。