python案例之随机产生固定要求的一串号码
程序员文章站
2022-06-26 17:58:20
python案例之随机产生固定要求的一串号码代码如下:#导入包import randomfirst = 1#随机产生多少个号码函数def create_phone(num): total=[] for n in range(0,num): #第二位 second=[3,4,5,7,8][random.randint(0,4)] #第三位 third={ 3:range(0,10)[rando...
python案例之随机产生固定要求的一串号码
案例背景
第一位:1
第二位:3,4,5,7,8
第三位: 13 【0-9】
14 [5,7,9]
15 [0-9] !=4
17 [0-9] !=4and 9
18 [0-9]
代码如下:
#导入包
import random
#随机产生多少个号码函数
def create_phone(num):
total=[]
for n in range(0,num):
#第二位
second=[3,4,5,7,8][random.randint(0,4)]
#第三位
third={
3:range(0,10)[random.randint(0,9)],
4:[5,7,9][random.randint(0,2)],
5:[value5 for value5 in range(0,10) if value5!=4][random.randint(0,8)],
7:[value7 for value7 in range(0,10) if value7!=4 and value7!=9 ][random.randint(0,7)],
8:random.randint(0,9)
}[second]
#最后8位,随机产生
last=''
for i in range(0,8):
aa=str(random.randint(0,9))
last=last+aa
#i=i+1
#拼接成最后的号码
phone='1{}{}{}'.format(second,third,last)
#判断生成的号码是否与之前随机生成的重复
for pn in range(0,len(total)):
if total[pn]==phone:
continue
#else:
#pn=pn+1
#list追加不需要重新复制,如写成total=total.append(phone) 则会报错NoneType
total.append(phone)
#num=num+1
return total
#测试
create_phone(10)
备注:注意区分for循环个while循环,for i in range(10)时,循环内部不需要再加上 i=i+1
本文地址:https://blog.csdn.net/weixin_41797985/article/details/110429964