Python生成电话号

作者: 羋学僧 | 来源:发表于2020-01-17 15:35 被阅读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)
    

    相关文章

      网友评论

        本文标题:Python生成电话号

        本文链接:https://www.haomeiwen.com/subject/penczctx.html