写一个函数,这个函数的功能是,传入一个数字,产生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. 重写KVC

    #import "NSObject+WQKVC.h" #import <objc/runtime.h> /** KVC 首先调用的方法顺序: |- setter: se ...

  2. cutil.h问题

    CUDA5.0没有cutil.h头文件,貌似用helper_cuda.h文件代替,暂时没出问题.

  3. No such file or directory 8356:error:02001003:system library:fopen:No such process:crypto\bio\bss_file.c:7 4:fopen

    使用OpenSSL生成证书,构建根证书前,需要构建随机数文件(.rand),命令如下: openssl rand - 报错如下: OpenSSL> rand - Can't open priva ...

  4. How good are detection proposals, really?

    How good are detection proposals, really? J. Hosang, R. Benenson, B. Schiele Oral at BMVC 2014 http: ...

  5. javascript入门笔记4-数组

    1.数组 var arr=new Array(); var myarray= new Array(8); //创建数组,存储8个数据. 注意: 1.创建的新数组是空数组,没有值,如输出,则显示unde ...

  6. 在windows7上配置xampp虚拟主机

    在设置之前最好关闭xampp1.修改hosts文件进入C:\Windows\System32\drivers\etc目录,找到hosts文件.在# Localhost (DO NOT REMOVE) ...

  7. js实现二分查找

    二分查找需要数组是有序的,1.先从有序数组的最中间元素开始查找,如果和要查找的元素相等,直接返回索引,若不相等则下一步.2.如果指定的元素大于或者小于中间元素,则在大于或小于的那一半区域内查找,重复第 ...

  8. Python 初始—(函数·)

    过程是没有返回值的函数,有一系列的函数组合和逻辑功能结合即为过程: def 定义函数: def 函数名(): print("") 位置参数和关键字调用,根据位置参数优先,关键字参数 ...

  9. leetcode第221题(最大正方形)的本地IDE实现及变形

    问题描述: 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积.PS:本文也对只包含0的最大正方形面积进行了运算 示例: 输入: 1 0 1 0 0 1 0 1 1 1 ...

  10. LeetCode567. Permutation in String

    Given two strings s1 and s2, write a function to return true if s2 contains the permutation of s1. I ...