首页 / PYTHON / python-随机生成N条邮箱号
python-随机生成N条邮箱号
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-随机生成N条邮箱号,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2696字,纯文字阅读大概需要4分钟。
内容图文
![python-随机生成N条邮箱号](/upload/InfoBanner/zyjiaocheng/846/0acf754bf4f24ab8b78a2d630fccbcd2.jpg)
需求:
产生N条邮箱号
1、写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱
2、产生的邮箱不能重复,且邮箱前面的长度是6-12之间
3、产生的邮箱必须包含大写字母、小写字母、数字和特殊字符
4、邮箱后缀可以选择163.com、qq.com、sina.com、126.com
思路:
必须包含大写、小写、数字、特殊字符,产生的N个手机号不能重复:
1、方法一:可以在大写、小写、数字、特殊字符里面每样取几个字符,这样就同时包含四种字符了。
2、方法二:取到的邮箱号分别与大写、小写、数字、特殊字符取交集来判断是否同时包含了四种字符。
注:while()循环:当while后面的条件为真,才执行while循环体内的while suite,直到条件为假时,退出循环。
1 import random 2 import string 3 #方法一: 4 def random_email(n): 5 emails=set()#定义一个空的集合,存储生成的N个邮箱号 6 while len(emails)!=n: 7 email_len=random.randint(6,12) #指定一个范围随机取整数 8 email_end=random.choice(('@163.com', '@qq.com', '@sina.com', '@126.com')) #随机取一个元素 9 #在小写、大写、特殊字符、数字里分别每样取一个字符,长度为4 10 email_s=random.choice(string.ascii_lowercase)+random.choice(string.ascii_uppercase)+random.choice(string.punctuation)+random.choice(string.digits) 11 #剩下的2-8个字符在大小写、特殊字符、数字中随机取出来 12 str=string.digits+string.punctuation+string.ascii_letters 13 str_len=email_len-4 14 email_e=random.sample(str,str_len) #随机选取几个元素,返回list 15 email_start=list(email_s)+email_e #字符串转list 16 random.shuffle(email_start) #打乱列表,返回值为空 17 email=''.join(email_start)+email_end+'\n' #一个完整的邮箱号 list转字符串 18 emails.add(email) 19 with open('user.txt','w') as fw: 20 fw.writelines(emails) 21 22 #方法二: 23 def random_email2(n): 24 emails=set() #定义一个空的集合,存储生成的N个邮箱号 25 while len(emails)!=n: 26 email_len=random.randint(6,12) #指定一个范围随机取整数 27 email_start=random.sample(string.ascii_letters+string.punctuation+string.digits,email_len) #sample()随机取几个元素,返回值是list ''.join() :list转字符串 28 email_end=random.choice(('@163.com', '@qq.com', '@sina.com', '@126.com')) #随机取一个元素 29 #取到的邮箱号分别与大写、小写、数字、特殊字符取交集来判断是否同时包含了四种字符。 30 if set(email_start) & set(string.ascii_lowercase) and 31 set(email_start) & set(string.ascii_uppercase) and 32 set(email_start) & set(string.punctuation) and 33 set(email_start) & set(string.digits): 34 email=''.join(email_start)+email_end+'\n' #list转字符串 35 emails.add(email) 36 with open('user.txt','w') as fw: 37 fw.writelines(emails)
内容总结
以上是互联网集市为您收集整理的python-随机生成N条邮箱号全部内容,希望文章能够帮你解决python-随机生成N条邮箱号所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。