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

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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?