python核心编程第七章习题解答(1)

本文详细介绍了使用Python进行字典排序及用户认证的过程,通过实例展示了如何利用字典的键值对进行排序,并实现用户登录认证功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7-3 (c)根据已按照字母顺序排序好的字典的值,显示出这个字典中的键和值

def sortdict(dict1):                         
    valuelist=dict1.values()                       
    valuelist.sort()                      
    dict2={}                      
    for value in valuelist:                     
        for key in dict1:                 
            if dict1[key]==value and key not in dict2:   #防止重复输出                          
                print key,value,                          
                dict2[key]=value
                          
if __name__=="__main__":                         
    dict1={'c':4,'a':5,'hi':78,'d':5,'r':5}                          
    ​sortdict(dict1)

7-5userpw.py

def olduser():
    promt="login(case-insensitive):"
    while True:
        name=raw_input(promt).lower()
        nam=set(name)
        if nam-valid!=set([]):
            promt='invalid char,try another:'
            continue
        if name not in db.keys():
            info=raw_input('New User?(Y/N)').lower()
            if info=='y':
                pwd=raw_input('passwd:')
                db[name]=(md5.new(pwd)).hexdigest()
                dbt[name]=time.localtime()
                return
            else:
                promt='invalid user,try another:'
                #continue
        else:
            break
    pwd=raw_input('passwd:')
    passwd = db.get(name)
    if passwd==(md5.new(pwd)).hexdigest():
        print 'welcome back %s'%name
        last=time.mktime(dbt[name])
        now=time.mktime(time.localtime())
        if now-last < 3600*4:
            lastime=time.strftime("%Y-%m-%d %H:%M:%S", dbt[name])
            print "You already logged in at: %s."%lastime
        dbt[name]=time.localtime()
    else:
        print 'login incrrect!'



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值