zoukankan      html  css  js  c++  java
  • python 3

    1、你输入几,文件里面就给你产生多少条密码
    2、密码必须包括,大写字母、小写字母、数字、特殊字符
    3、密码不能重复
    4、密码都是随机产生的
    5、密码长度6-11

    import string,random
    upperStr = string.ascii_uppercase
    lowerStr = string.ascii_lowercase
    digitStr = string.digits
    specialStr = string.punctuation
    allStr = upperStr+lowerStr+digitStr+specialStr #产生密码所需要的字符集
    f = open('pwdFile.txt','w')
    # 输入要产生密码的次数:
    Num = int(input("please input the times:"))
    for i in range(Num):
        pwdLen = random.randint(6,11)
        #print(pwdLen) # 随机生成密码的长度
        # 密码必须包含的四个字符:大写字母,小写字母,数字,特殊字符
       
    pwd1 = random.choice(upperStr) + random.choice(digitStr) + random.choice(lowerStr) + random.choice(specialStr)
        pwdRan = random.sample(allStr,pwdLen-4) #除去4个字符外,随机从字符集中取出剩下所需要的字符
       
    pwd2 = "".join(pwdRan)#  并将该List转化为字符串
       
    pwd = pwd1+pwd2 # 最终生成的随机密码
       
    f.write(pwd+' ') #将密码写入文件中
    f.close()

    生成结果:

    M0h[6UZO
    K2m~9I(+
    P9g/#<Yn
    O5u&")9@
    E6f;hVL
    D7b>Uc@W$Y6

    总结:

    1. 

    pwdRan = random.sample(allStr,pwdLen-4) #除去4个字符外,随机从字符集中取出剩下所需要的字符

    random.sample()  生成的是一个List,需要将该List转换为字符串,然后才可以和第一部分产生的密码拼接. 

    2. 

    pwd2 = "".join(pwdRan)#  并将该List转化为字符串

    使用join方法将list 转化为string类型

  • 相关阅读:
    EXCEL启动慢
    存货跌价准备-资产减值损失
    绩效软件交流-ZQDJ
    库存股
    CF788A Functions again dp
    CF788C The Great Mixing BFS+思维
    CF788B Weird journey 欧拉路径+计数
    CF786C Till I Collapse 整体二分+根号分治
    CF922D Robot Vacuum Cleaner 贪心+排序
    CF920C Swap Adjacent Elements 贪心
  • 原文地址:https://www.cnblogs.com/yuanchunli/p/8797052.html
Copyright © 2011-2022 走看看