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 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 定制ai直播实时换脸软件
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件