写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。邮箱前面的长度是6-12之间,产生的邮箱必须包含大写字母、小写字母、数字和特殊字符

和上一期一样 代码中间有段比较混沌 有问题的可以@我

import random
he=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
'U', 'V', 'W','X', 'Y', 'Z','0', '1', '2', '3', '4', '5', '6', '7', '8', '9','~','!','?','#','$','&','*']#所有的大小写字母特殊字符和0-9数字
da={'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z'}#所有大写字母
xiao={'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
'u', 'v', 'w', 'x', 'y', 'z',}#所有的小写字母
shu={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}#0-9数字
te={'~','!','?','#','$','&','*'}#自定义特殊字符
emile_wei = ["@qq.com", "@163.com", "@126.com", "@sina.com"]#邮箱后缀 def Emile(number):#函数名和需要的参数
tou_infos = []#存储所有的邮箱
for j in range(number):#决定想要得到的邮箱个数
while True:#用来判断邮箱是否成立
tou_num=random.randint(6,12)#决定前缀的长度范围
emile_weis = random.choice(emile_wei)#随机取值后缀
tou_info=[]#定义空列表存储获得的元素
for i in range(tou_num):
tou_info+=random.choice(he)#从大列表中取值依次赋值
sj=set(tou_info)#转成集合做if判断备用
c = tou_num - len(sj)#求差值备用(是if判断生效)
if (len(da)+tou_num)==len(da|sj)+c:#(用理论情况下(要对比集合(da={}))与(邮箱前缀)的和)比较
# (实际情况(邮箱前缀(去重成集合))与对比集合(da={})加上去重的差值 c)
continue
elif (len(xiao)+tou_num)==len(xiao|sj)+c:
continue
elif (len(te)+tou_num)==len(te|sj)+c:
continue
elif (len(shu)+tou_num)==len(shu|sj)+c:
continue
else:
q="".join(tou_info)+emile_weis#把列表转换成字符串拼接邮箱后缀
break
tou_infos.append(q)#依次加入存储油箱的列表
return tou_infos#做返回 dayin=int(input("其输入你想打印的邮箱号个数:"))
# print(Emile(dayin))
while True:#做防止重复判断
x = set(Emile(dayin))#把列表转写成集合去除重复值
if len(x)<dayin:#对比集合元素个数和想要的邮箱号个数
# dayin=dayin-len(x)
dayin-=len(x)
x.add(Emile(dayin))#用差值再次调用函数
continue
else:
print(x)
break

自动化测试(三)如何用python写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。的更多相关文章

  1. 如何用Python写一个贪吃蛇AI

    前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了. 问题的关键在于,图片中的贪吃蛇真的很贪吃XD, ...

  2. 如何用 Python 写一个简易的抽奖程序

    不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...

  3. 自动化测试(三)如何用python写个一函数,这个函数的功能是,传入一个数字,产生N条手机号,产生的手机号不能重复

    本期时间短没来得及写思路,不过我都加了注释,有问题可以@我 import randomimport timedef Phones(number):#生成手机号函数 s = "01234567 ...

  4. 自动化测试(二)如何用python写一个用户登陆功能

    需求信息: 写一个判断登录的程序: 输入: username password 最大错误次数是3次,输入3次都没有登录成功,提示错误次数达到上限 需要判断输入是否为空,什么也不输入,输入一个空格.n个 ...

  5. 自动化测试(三)如何用python写个双色球

    写一个程序,输入N就产生N条双色球号码 红球  6     01-33 蓝球  1     01-16 产生的双色球号码不能重复,写到一个文件里面,每一行是一条 红球: 01 03 05 07 08  ...

  6. 如何用Python写一个计算器软件 附带效果图

    该计算器使用Python  tkinter模块开发 效果如下图 import tkinter #导入tkinter模块 root = tkinter.Tk() root.minsize(280,500 ...

  7. 如何用Python写一个每分每时每天的定时程序

    1.计算生日是星期几 当你女朋友要过生日了,你肯定要定找家饭店订个餐庆祝一下,餐馆工作日会空一些,周末位置不好定,要是能知道她的生日是星期几就好了,下面这个程序就能搞定~~ 比如girl friend ...

  8. 逆向libbaiduprotect(三)- 移植python操作dalvik虚拟机c++函数,配合gdb控制程序运行流程

    python编译移植到测试机,并且移植ctypes模块.利用ctypes代替c程序,利用dalvik内部c++函数,在运行过程中手动命令操控dalvik虚拟机,并结合gdb进行调试.绕过zygote和 ...

  9. 如何用python写个人专属群聊提醒小助手?

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚生 ...

随机推荐

  1. .html(),.text()和.val()的差异总结

    .html(),.text(),.val()三种方法都是用来读取选定元素的内容:只不过.html()是用来读取元素的html内容(包括html标签),.text()用来读取元素的纯文本内容,包括其后代 ...

  2. java高新技术-反射

    一.反射的基石->Class类 定义一个类使用 class 有一个类叫Class Java程序中的各个Java类属于同一类事务,描述这类事物的Java类名就是Class. Person类代表人, ...

  3. Android 距离传感器修复 修复打电话黑屏 无法快速唤醒屏幕的BUG

    接触Android Xposed开发也很久了,学了这么久的Java,也该弄点东西出来了, public ProximitySensor(Context paramContext, AudioModeP ...

  4. java socket nio编程

    上次写了一个socket的基本编程,但是有个问题,阻塞特别严重,于是小编便去找了nio学习了一下... public class TimeServer { public static void mai ...

  5. js 判断url的?后参数是否包含某个字符串

    function GetQueryString(name){    var reg=eval("/"+name+"/g");   var r = window. ...

  6. Java操作PDF之itext入门

    转载:http://lichunhui.iteye.com/blog/1550584 iText是著名的开放项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档 ...

  7. ps-抠图

    1-    图层区—复制背景图层            防止原图修改失败后无法还原 2-    工具栏——磁性套索工具                    可以有效的对色彩边线较为明显的图片进行抠图 ...

  8. goquery 添加header 发起请求

    goquery 添加header 发起请求 我们知道使用net/http 很容易发起GET or POST 请求:并且在发起http请求时候,可以很容易的对header进行干预 例如: client ...

  9. python学习第41天

    # 索引 # 认识mysql中的key # index key 普通索引,能够加速查询,辅助索引 # unique key 唯一 + 索引,辅助索引 # primary key 唯一 + 非空 + 聚 ...

  10. JavaScript高级程序设计学习(五)之对象

    众说周知,java是面向对象的编程语言.一个类包含多个对象,例如车类,它包含宝马,奔驰,东风,本田,莲花等这样的车,而品牌和颜色或者某种标识就是它的属性.车包含很多种类,但是共性还是有的,比如共性有四 ...