Python生成电话号
2020-01-17 本文已影响0人
羋学僧
生成电话号
'''
# 1. 需求
# 2, 流程
中国电信号段:133,153, 180,181,189,173, 177,149
中国联通号段:130,131,132,155,156,185,186,145,176,185
中国移动号段:134,135,136,137,138,139,150,151,152,158,159,182,183,184,147,178
11位
第一位 :1
第二位:3,4,5,7,8
第三位:根据第二位来确定
3 + 【0-9】
4 + 【5,7,9】
5 + 【0-9】 !4
7 + 【0-9】! 4and9
8 + 【0-9】
后8位: 随机生成8个数字
'''
import random
# creat_phone()
# 生成电话号
def creat_phone():
# 第二位
second = [3,4,5,7,8][random.randint(0,4)]
# 第三位的值根据第二位来确定
third = {
3:random.randint(0,9),
4:[5,7,9][random.randint(0,2)],
5:[i for i in range(10) if i!=4][random.randint(0,8)], # 9个数 0 8
7:[i for i in range(10) if i not in [4,9]][random.randint(0,7)],
8:random.randint(0,9)
}[second]
# 后8位随机抽取
suffix = ''
for x in range(8):
suffix = suffix + str(random.randint(0,9))
# 拼接
return "1{}{}{}".format(second,third,suffix)
# 调用
# print(creat_phone())
num = input('请输入生成的数量')
for index in range(0,int(num)):
print(creat_phone())
def create_a_phone():
# 第二位数字
second = [3, 4, 5, 7, 8][random.randint(0, 4)]
# 第三位数字
third = {3: random.randint(0, 9),
4: [5, 7, 9][random.randint(0, 2)],
5: [i for i in range(10) if i != 4][random.randint(0, 8)],
7: [i for i in range(10) if i not in [4, 9]][random.randint(0, 7)],
8: random.randint(0, 9), }[second]
# 最后八位数字
suffix = random.randint(9999999, 100000000)
# 拼接手机号
return "1{}{}{}".format(second, third, suffix)