#V1.0生成指定长度的随机英文+数字+后缀的邮箱
import csv
import random
import string
class email_v1():
def __init__(self):
self.min=5
self.max=10
self.list=["@qq.com","@163.com","@126.com","@sina.com","@sogou.com"]
def get_email(self):
num=random.randint(self.min,self.max)
str=string.ascii_uppercase+2*string.digits
em= ''.join(random.sample(str,num))
ail=random.choice(self.list)
email=em+ail
return email
if __name__ == '__main__':
email=email_v1()
aa=email.get_email()
print(aa)
#V2.0根据用户指令生成多组邮箱数据
import csv
import random
import string
class email_v2():
def __init__(self):
self.min=5
self.max=10
self.list=["@qq.com","@163.com","@126.com","@sina.com","@sogou.com"]
def get_email(self):
num=random.randint(self.min,self.max)
str=string.ascii_uppercase+2*string.digits
em= ''.join(random.sample(str,num))
ail=random.choice(self.list)
email=em+ail
return email
if __name__ == '__main__':
email=email_v2()
count=int(input("您需要多少邮箱:"))
for i in range(1,count+1):
aa=email.get_email()
print(str(i)+":"+aa)
#V3.0写入文件
import csv
import random
import string
class email_v3():
def __init__(self):
self.min=5
self.max=10
self.list=["@qq.com","@163.com","@126.com","@sina.com","@sogou.com"]
def get_email(self):
num=random.randint(self.min,self.max)
str=string.ascii_uppercase+2*string.digits
em= ''.join(random.sample(str,num))
ail=random.choice(self.list)
email=em+ail
return email
def save_email(self,elist):
file=open("email.csv","w",newline="")
w=csv.writer(file)
for el in elist:
w.writerow([el])
file.close()
if __name__ == '__main__':
email=email_v3()
elist=[]
file=open("email.csv","w",newline="")
w=csv.writer(file)
count=int(input("您需要多少邮箱:"))
for i in range(1,count+1):
aa=email.get_email()
elist.append(aa)
email.save_email(elist)
思维导图总结: