Python生成一个8位的密码,里面必须包含hk 和ecr
另外的几位密码只包含数字和字母。
其实这个问题之前提过,但是上次问的是只包含hk,然后有一个大佬给我的代码是这样的
import string
import codecs
ws = []
wf = codecs.open('out.txt', 'w', 'utf-8')
ws += list(string.ascii_letters)
ws += list(string.digits)
def write_pwd(pwd):
if len(pwd) < 8:
for w in ws:
wf.write(w + pwd + '\n')
write_pwd(w + pwd)
wf.write(pwd + w + '\n')
write_pwd(pwd + w)
write_pwd('hk')
wf.close()
但是这个只有必须有hk一个要求我不知道怎么把必须有ecr也包含进去
import string,random
def write_pwd(*mustin):
lt_num = string.ascii_letters+digits #字母加数字
finally = []
lenth = 8
for a in mustin:
lenth-=len(a)
if lenth<0:
raise ValueError("负数")
for a in range(lenth): #是八位数,并且必须出现mustin元组的值
f = random.choice(lt_num) #随机选择
finally.append(f) #添加进列表
strlen=len(finally)
for a,must in enumerate(musin):
b = random.randint(1,strlen)
finally.insert(a,must)
return "".join(finally)
write_pwd("hk","ecr")