################随机生成密码#####################
1、写一个函数:函数的功能是生成一批密码,存到文件里面defgen_password(num):#num代表生成多少条密码。num代表循环多少次输入1生成1条密码输入2生成2条密码pass2、密码复杂度要求:(1)长度在8~16位之间(2)密码必须包括大写字母、小写字母、数字、特殊字符-->随机生成的密码从哪里取?先和大写字母取交集,然后和小写字母取交集,再与数字取交集,再与特殊字符去交集。(3)密码不能重复。3、生成的密码保存到文件里面。(只要保证每次生成的不重复就可以了,不需要保证文件中的密码均不重复)
#Day5-作业1importstringimportrandomFILENAME='gen_pwd.txt'defwrite_file_content(gen_pwd):withopen(FILENAME,'a+',encoding='utf-8')asfw:fw.seek(0)#最新生成的密码写在文件最前面fw.write(gen_pwd+'\n')defgen_password(num):'''函数的功能是生成一批密码,存到文件里面:paramnum:传入一个变量(作为循环次数):return:True/False'''num=int(num)count=0l1=string.ascii_uppercase+string.ascii_lowercase+string.digits+string.punctuationl2=list(range(8,17))jihe=set()whilelen(jihe) ###################随机生成彩票号################## 2、写一个函数,函数的功能是生成一批双色球号码。defgen_seq(num):pass1、中奖号码由6个红球和一个篮球构成红球的范围是:1~33篮球的范围是:1~162、产生不能重复篮球:05红球:010305171832篮球:05红球:010305171832篮球:05红球:010305171832篮球:05红球:010305171832篮球:05红球:010305171832 importrandomdefgen_seq():all_red_ball=[str(i).zfill(2)foriinrange(1,34)]all_blue_ball=[str(i).zfill(2)foriinrange(1,17)]blue=random.choice(all_blue_ball)red=random.sample(all_red_ball,6)red=''.join(red)return'红球:%s篮球:%s'%(red,blue)print(gen_seq())all_seq=set()num=int(input('请输入要生产多少条双色球:').strip())whilelen(all_seq)!=num:res=gen_seq()+'\n'all_seq.add(res)withopen('gen__seq.txt','w',encoding='utf-8')asfw:fw.writelines(all_seq)