随机生成16位密码
本文最后更新于 205 天前,其中的信息可能已经有所发展或是发生改变。

题目要求

随机生成一个16位的密码,必须包含数字、大写字母、小写字母、符号

并将这个程序封装在函数中,生成的密码长度以参数形式上传。

代码(方法一:全随机)

#方法一:全随机
def pwd_generator(length = 16):
    if length < 4:
        return ''
    while True:
        pwd = ''
        for _ in range(length):
            char_list = [[97,122],[65,90],[48,57],[33,47]]
            random_list = random.choice(char_list)
            random_char = chr(random.randint(*random_list))
            pwd += random_char
        l = [False for i in range(4)]   #创建4个值都为False的列表
        #遍历前面生成的密码,判断密码是否包含四种类型的字符
        for word in pwd:
            if 97 <= ord(word) <= 122:     #ord 把字符转换成字符表上的数字
                l[0] = True
            if 65 <= ord(word) <= 90:
                l[1] = True
            if 48 <= ord(word) <= 57:
                l[2] = True
            if 33 <= ord(word) <= 47:
                l[3] = True
        if l[0] and l[1] and l[2] and l[3]:
            return pwd
        pwd_generator(length)


print(pwd_generator(16))

代码(方法二:存在一定规律,四种类型的数量相同)

def pwd2_generator(length = 16):
    pwd2 = []
    for _ in range(length//4+1):
        char_list = [chr(random.randint(97,122)),   #小写字母
                     chr(random.randint(65,90)),    #大写字母
                     chr(random.randint(48,57)),    #数字
                     chr(random.randint(33,47))]    #符号
        pwd2.extend(char_list)
    pwd2 = pwd2[:length]
    random.shuffle(pwd2)
    return ''.join(pwd2)

print(pwd2_generator(16))

附:(random模块)

import random

print(random.uniform(1,10))  #随机传一个1-10的数
print(random.randint(1,100))  #随机传一个1-100的随机整数  (闭区间)
print(random.randrange(1,3))  #随机一个1-3的整数   (左闭右开)
print(random.choice([1,23,41,564]))   #从序列中随机取一个元素(可以是字符串、列表、字典、range对象等)
print(random.sample([1,23,41,564],2))  #取值的个数
li = [1,2,3,4]
random.shuffle(li)  #打乱 
print(li)
3.124021911327833
60
1
41
[564, 41]
[1, 3, 4, 2]
随机生成16位密码 : http://116.62.240.154:9520/randommima/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇