m0_54240364 2021-09-23 15:30 采纳率: 33.3%
浏览 152
已结题

python随机生成n个满足如下要求的手机号码

1.手机号码必须是13、15、17、18开头
2.手机号码相同数字出现的次数不能大于5次
3.任意两个手机号不能重复
4.生成的手机号码需保存在列表tels中,并且按照升序进行排列

初学python,请求帮助~

  • 写回答

1条回答 默认 最新

  • python收藏家 2021-09-23 17:11
    关注
    
    def get_random_tels(n):
        import random
        m = 0
        s = [3, 5, 7, 8]
        last = []
        while m < n:
            lst9 = [random.choice(range(10)) for _ in range(9)]
            res = [1] + [random.choice(s)] + lst9
            if len(set(res)) >= 7:
                if res not in last:
                    last.append(res)
                    m += 1
        tels = []
        for lst in last:
            res = [str(i) for i in lst]
            phone = int(''.join(res))
            tels.append(phone)
        tels.sort()
        
        return tels
    
    get_random_tels(6)  # 随机生成6个
    # [13222605719, 13253435076, 13654054562, 13997673840, 15029032380, 15420923374]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月3日
  • 已采纳回答 9月25日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址