美文网首页
习题6:二.3 随机密码生成

习题6:二.3 随机密码生成

作者: 小伙在杭州 | 来源:发表于2019-03-06 14:33 被阅读0次

    编写程序在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。

    import random
    num_ls = []  # 创建数字、小写字母、大写字母空列表
    str_ls = []
    STR_ls = []
    for i in range(ord('1'),ord('9') + 1): # 将数字对应的unicode码添加到对应list中
        num_ls.append(i)
    for i in range(ord('a'),ord('z') + 1): # 将小写字母对应的unicode码添加到对应list中
        str_ls.append(i)
    for i in range(ord('A'),ord('Z') + 1): # 将大写字母对应的unicode码添加到对应list中
        STR_ls.append(i)
    ls = num_ls + str_ls + STR_ls
    def passWord(ls):
        """随机从列表中选取8个unicode码,并转化成字符"""
        s = []
        while len(s) < 8:
            s.append(random.choice(ls))
        for i in s:
            print(chr(i),end = '')
    def passWord_group(ls):
        g = []
        while len(g) < 10:
            g.append(passWord(ls))
            print('')
        return g
    
        
    passWord_group(ls)
    

    语言程序设计冲刺试卷-试卷模拟C-第四题
    原答案有误,正确的答案为:

    from random import *
    seed(0x1010)
    s = 'abcdefghijklmnopqistuvwxyzABCDEFGHIJKLMNOPQISTUVWXYZ0123456789!@#$%^&*'
    ls = []
    ex = ' '
    while len(ls) < 10:
        pwd = ' '    
        for i in range(10):
            pwd += s[randint(0,len(s)-1)]
            if pwd[0] in ex:   #原书中的答案,此行没缩进
                continue
        else:
            ls.append(pwd)
            ex += pwd[0]
            
    with open("python二级冲刺试卷\\模拟试卷C\\随机密码.txt",'w',encoding = 'utf-8') as f:
        f.write('\n'.join(ls))
    

    相关文章

      网友评论

          本文标题:习题6:二.3 随机密码生成

          本文链接:https://www.haomeiwen.com/subject/wzitpqtx.html