python习题-用交集方式产生随机密码
2024-10-12 19:34:29
# 1、写一个产生密码的程序,
# 输入次数,输入多少次就产生多少条数据,
# 要求密码必须包含大写字母、小写字母和数字,长度8位,不能重复
import string ,random
num=input('请输入一个数字').strip()
pwds=set() #定义一个空集合
if num.isdigit(): #判断是否为数字
i=0
while len(pwds)<int(num):
passwd=set(random.sample(string.ascii_letters+string.digits,8))
set1=set(string.ascii_uppercase).intersection(passwd) #求交集,来判断set1中是否有大写字母
set2 = set(string.ascii_lowercase).intersection(passwd)
set3 = set(string.digits).intersection(passwd)
if set1 and set2 and set3: #非0既真,判断set1,set2,set3 如果都是真,说明密码中含有了大写字母,小写字母,数字
str_passwd=''.join(passwd)+'\n'#要把产生的密码变成字符串
# if str_passwd not in pwds:
pwds.add(str_passwd)
# i+=1
fw=open('pwds.txt','w')
fw.writelines(pwds)
else:
print('你输入的不是数字')
最新文章
- Zend Studio XDebug调试配置
- JS字符串反序输出
- html5高级
- 【WP开发】手电筒
- 李洪强漫谈iOS开发[C语言-039]-剪刀石头布
- SQLServer 之 常用函数及查看
- 分享下VellLock源代码。。。VellLock正式开源
- C++实现建立和一二进制树的三个递归遍历
- Android Wear开发 - 卡片通知 - 第二节 : 自定义Wear卡片样式
- leetcode修炼之路——383. Ransom Note
- 微软官方的Unity支持组件
- MVC3 分页Helper
- JavaSE复习日记 : 八种基本数据类型
- 使用hexdump工具追踪EXT4文件系统中的一个文件
- Python网络数据采集6-隐含输入字段
- Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新
- gitignore不起作用
- Javascript高级编程学习笔记(17)—— 引用类型(6)基本包装类
- HttpClients+Jsoup抓取笔趣阁小说,并保存到本地TXT文件
- sqlmap简单使用
热门文章
- 图像处理之基础---2个YUV视频 拼接技术
- [LeetCode] Remove Duplicates from Sorted Array II [27]
- 利用asset存储mesh
- 【CodeM初赛B轮】F 期望DP
- 爬虫入门【3】BeautifulSoup4用法简介
- Zipper (DP)
- 使用google的GSON解析json格式的数据
- [php][随机数]曲线式的随机
- 我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(三)Android客户端功能实现
- sublime运行Python