Python 如何随机生成手机号?

复制下面运行



"""
要获取一个手机号,首先需要了解手机号码的组成规律:
①手机号码一共有11位
②第1位目前都是1
③第2位in[3、4、5、7、8] 取值
④第3位比较复杂一些,根据第2位的数字,对应运营商的生成规律
⑤后8位是随机生成的8个数字
"""

import random

def get_phone_num():
    second_spot = random.choice([3, 4, 5, 7, 8])
    third_spot = {3: random.randint(0, 9),
                  4: random.choice([5, 7, 9]),
                  5: random.choice([i for i in range(10) if i != 4]),
                  7: random.choice([i for i in range(10) if i not in [4, 9]]),
                  8: random.randint(0, 9), }[second_spot]
    remain_spot = random.randint(9999999, 100000000)
    phone_num = "1{}{}{}".format(second_spot, third_spot, remain_spot)
    return phone_num


if __name__ == '__main__':
    print(get_phone_num())


版权声明:本文为wuwei13798642原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。