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

本期时间短没来得及写思路,不过我都加了注释,有问题可以@我

import random
import time
def Phones(number):#生成手机号函数
s = "0123456789"#手机号后8位取值
p = ["186", "151", "132", "134", "168"]#手机号前三位取值
# print( random.choice(s))
phones = []#存储生成的所有手机号,并作返回
for j in range(number):
random_str_wei=""#初始化手机后8位
random_str_tou = random.choice(p)#随机抓取前三位
for i in range(8):#循环获取后8位
random_str_wei += random.choice(s)
phone = random_str_tou + random_str_wei#拼接前三位和后8位成一个完整手机号
phones.append(phone)#把手机号添加到手机列表里
return phones#做返回
dayin=int(input("其输入你想打印的手机号个数:"))
# print("正在生成...请等待5秒!")
# time.sleep(5)#小玩耍
while True:#做防止重复判断
x = set(Phones(dayin))#把列表转写成集合去除重复值
if len(x)<dayin:#对比集合元素个数和想要的手机号个数
# dayin=dayin-len(x)
dayin-=len(x)
x.add(Phones(dayin))#用差值再次调用函数
continue
else:
print(x)
break
posted @ 2018-11-30 14:40  十七爵木  阅读(446)  评论(0编辑  收藏  举报