python第七章课后题答案_python核心编程第七章7-5习题答案

db={}

def manage_list():

prompt="""

(D)elete user

(P)rint all user

(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):

choice='q'

print'\nYou picked:[%s]'%choice

if choice not in 'dpq':

print'invalid option,try again'

else:

chosen=True

if choice=='q':done=True

if choice=='d':delete_user()

if choice=='p':print_user()

def delete_user():

i=0

user_list=[]

for each_user in db.keys():

user_list.append(each_user)

print '['+str(i)+']'+str(each_user)

i+=1

user_number=input('please choice an user number to delete an user:')

if 0<=user_number

print'your choice is:'+user_list[user_number]

confirm=raw_input('do you want to del this user:[Y/N]')

if confirm == 'Y':

del db[user_list[user_number]]

else:

manage_list()

else:

print 'please input the right number!'

delete_user()

def print_user():

i=0

for each_user in db.items():

print '['+str(i)+']'+'username:'+each_user[0]+' userpwd:'+each_user[1][0]

i+=1

def last_login_timestamp(name):

import time

last_time=db.get(name)[1]

if not last_time:

db[name][1]=time.time()

print'welocme back',name

#print'time is: '+time.strftime('%y-%m-%d %H:%M:%S',time.localtime(db.get(name)[1]))

else:

if 0

print'you already logged in at:'+time.strftime('%y-%m-%d %H:%M:%S',time.localtime(db.get(name)[1]))

def md5(str):

import hashlib

m = hashlib.md5()

m.update(str)

return m.hexdigest()

def login():

name=raw_input('plsase input your username:').lower()

if db.has_key(name):

olduser(name)

else:

confirm=raw_input('your username is not created,do you want to creat this user?[Y/N]')

if confirm=='Y':

newuser()

else:

olduser()

def newuser():

import re

prompt='login desired:'

while True:

name=raw_input(prompt).lower()

if not re.match('^[0-9a-z]+$',name):

print'your name is wrong! please try again!'

newuser()

if db.has_key(name):

prompt='name taken, try another:'

continue

else:

break

L_pwd=raw_input('passwd:')

pwd=md5(L_pwd)

last=0

db[name]=[pwd,last]

def olduser(name):

user_name=name

L_pwd=raw_input('passwd:')

pwd=md5(L_pwd)

passwd= db.get(user_name)[0]

if passwd==pwd:

last_login_timestamp(user_name)

else:

print 'login incorrect'

def showmenu():

prompt="""

(L)login

(Q)uit

(M)anage

Enter choice:"""

done=False

while not done:

chosen=False

while not chosen:

try:

choice=raw_input(prompt).strip()[0].lower()

except (EOFError

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值