• python-随机生成N条手机号


     需求:
    随机取手机号
    1、写个一函数,这个函数的功能是,传入一个数字,随机生成N条手机号且这N条手机号不能重复
    2、手机号前三位可以选择150, 189, 188, 170, 132, 150, 186
    3、生成的手机号写入文件里
    思路:
    存入N条不重复的手机号:(两种方法)
    1)定义一个空的list准备存手机号,每次存入之前都判断一下是否和list里面的手机号重复,用while循环,直到list中存够了N条手机号则停止循环
    2)定义一个空的集合,集合本身就是不重复元素序列,所以往集合里添加元素时自动去重,用while循环,直到集合中存够了N条手机号则停止循环

    注:while循环是当while后面的条件(表达式)为真,才执行while循环体内的while suite,直到条件为假时,退出循环。

     1 import random
     2 
     3 #方法一:把随机生成的N条手机号存入列表里
     4 def phone(n):
     5     phone_list=[] #定义一个空的列表,存手机号
     6     while len(phone_list)!=n:
     7         phone_head=random.choice([150, 189, 188, 170, 132, 150, 186]) #随机选择一个元素作为手机号的前三位
     8         #phone_end=random.randint(10000000,999999999)#指定一个范围,随机取整数作为手机号的后八位
     9         phone_end=random.randint(0,999999999)
    10         phone='%s%08d
    '%(phone_head,phone_end) #08d取八位数字
    11         if phone not in phone_list:
    12             phone_list.append(phone) #在list末尾增加一个元素
    13     with open('user.txt','w') as fw:
    14         fw.writelines(phone_list)
    15 
    16 #方法二:把随机生成的N条手机号存入集合里
    17 def phone2(n):
    18     phone_gather=set()
    19     while len(phone_gather)!=n:
    20         phone_head = random.choice([150, 189, 188, 170, 132, 150, 186])  # 随机选择一个元素作为手机号的前三位
    21         phone_end = random.randint(0, 999999999) #指定一个范围,随机取整数作为手机号的后八位
    22         phone = '%s%08d
    ' % (phone_head, phone_end)  # 08d取八位数字
    23         phone_gather.add(phone)  # 把获取到的手机号添加到集合里面
    24     with open('user.txt', 'w') as fw:
    25         fw.writelines(phone_gather)






  • 相关阅读:
    access 连接数据库
    Debug 和 Release 的区别
    Centos
    打印画面
    读取文件夹以及消除
    常用的文件文件夹目录的操作函数
    db的操作
    从数据库取数据
    pdf文件的作成
    读取文件
  • 原文地址:https://www.cnblogs.com/you-me/p/10067379.html
Copyright © 2020-2023  润新知