生成一个6位数的随机密码,且需要包括字符、数字、特殊符号

实现思路:

第一步:6位数的密码,且需要包括字符、数字、特殊符号这三个元素。将三个元素组成6位时每个元素的排列组合列举出来

第二步:从第一步的排列组合中随机抽取一个排列组合类型(i,j,k)

第三步:从所有的字符、数字、特殊符号中随机抽取i个字符,j个数字,k个特殊符号

第四步:将i个字符,j个数字,k个特殊符号组成一个6位数的密码'laststr '

第五步:将laststr中的元素再次打散随机排列组合。此时就能得到一个6位数的随机密码

#生成一个随机密码,不少于6位数(目前下方代码只实现了6位数的密码组合),且需要包括字符、数字、特殊符号

import random
from random import shuffle
import string
#打印所有大写字母,小写字母,数字,特殊符号
sletters = string.ascii_letters
sdigits = string.digits
spunctuation = string.punctuation

#获取6位数的密码,字符、数字、特殊符号组合的排序方式
Option = [[i, j, k] for i in range(1,5) for j in range(1,5) for k in range(1,5) if i + j + k == 6]
Optionitems = Option[random.randint(0, len(Option)-1)]

slettersitems = [random.choice(sletters) for i in range(Optionitems[0])]
sdigitsitems = [r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值