python获取大小字母和数字,随机生成密码
获取大小字母和数字:"".join(list(map(str,list(range(10))))) range(10)取0-9十个数,list()将range(10)存到list中,map(str,list())将list列表中的元素转换为str类型,"".join(list())将list()中的元素拼接为一个字符串(“0123456789”)
取大写字母list(map(chr,list(range(65,91)))) 取小写字母list(map(chr,list(range(97,123))))
随机生成密码:
import random #导入随机数包
char_set=list(map(str,list(range(10))))+list(map(chr,list(range(65,91))))+list(map(chr,list(range(97,123)))) #获取数字和大小写字母列表
while 1: #循环从char_set列表中取八个元素,判断这八个元素中是否包含大小写和数字,如果包含则输出密码跳出循环
result=random.sample(char_set,8) #随机取八个元素
capital_letter=False #判定是否存在大写字母
lowercase_letter=False #判定是否存在小写字母
number=False #判定是否存在数字
for i in result: #循环遍历取出的八个元素
if i in list(map(str,list(range(10)))): #判断是否含数字
number=True
if i in list(map(chr,list(range(65,91)))): #判断是否含小写字母
lowercase_letter=True
if i in list(map(chr,list(range(97,123)))): #判断是否含大写字母
capital_letter=True
if capital_letter and lowercase_letter and number: #如果密码中含大小写字母和数字,则输出密码并跳出循环
print("密码是:%s" %"".join(result))
break