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

  1. 手机号码必须是13、15、17、18开头
  2. 手机号码相同数字出现的次数不能大于5次
  3. 任意两个手机号不能重复
  4. 生成的手机号码需保存在列表tels中,并且按照升序进行排列
import random
n = int(input("请输入n值:"))  #n就是要生成的手机号个数
tels = []
begin = [3,5,7,8]
i = 1   #计数while i <= n:last9 = [random.choice(range(10)) for _ in range(9)]   #剩下的九个数字tel = [1] + [random.choice(begin)] + last9          #按顺序生成11个数字,储存在tel列表里if tel not in tels:     #将不重复的tel存进tels列表中tels.append(tel)   i += 1for m in tel:if tel.count(m) > 5:    #判断有无重复出现5次以上的数字    tels.remove(tel)    #若有,从tels列表里删除该teli -= 1              #删除后计数减一,继续返回循环A = ''     #定义一个空串方便将列表形式的11个独立数字合并为一个字符串
for x in range(0, len(tels)):for s in tels[x]:a = str(s)A = A + atels[x] = A  #按顺序存进题目要求的tels列表A = ''   #前一个合并完之后,A清零进行下一个字符串的处理tels.sort()  #升序排序
print(tels)
import randomn = int(input("请输入n:"))
starts = [13, 15, 17, 18]  # 前两位
tels = []  # 保存生成的手机号码
# 遍历
while True:tel = ""  # 保存每一次生成的手机号tel += str(starts[random.randint(0, 3)])  # 随机选择前两位tmp = []  # 随机选择数字序列for i in range(10):if str(i) in tel:tmp = tmp + [i] * 3else:tmp = tmp + [i] * 4random.shuffle(tmp) #打乱顺序for _ in range(9):  # 随机从选择序列中i = random.randint(0, len(tmp) - 1)tel += str(tmp[i])del tmp[i]if tel not in tels:  # 去除重复tels.append(tel)if len(tels) > n:# 生成n个数后跳出循环breakprint(tels)

以上是学校python入门课的一道小题,附自己琢磨出的解决办法(第一个)和老师给的代码(第二个)。自己的方法更多侧重每一个数字生成和处理的过程,老师的更偏向于建立一个大的数集,然后从中取数组成电话号,私以为各有所长所短。但是黑猫白猫,抓到耗子就算好猫!

如有需要供参考,立个小博客记录hhhhh

欢迎批评指正!!

Python随机生成n个满足如下要求的手机号码相关推荐

  1. python 随机生成密码

    python 随机生成密码 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : 随机生成密码 ...

  2. python随机生成30个8_Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例...

    上代码: 环境:Python3 import random,string s=string.ascii_letters+string.digits print(s) n={''.join(random ...

  3. Python语言学习:Python随机生成那些事之随机生成使用方法、案例应用之详细攻略

    Python语言学习:利用Python随机生成那些事之随机生成使用方法.案例应用之详细攻略 目录 案例应用 1.随机生成指定区间内的某一值 案例应用 1.随机生成指定区间内的某一值 使用说明:给定区域 ...

  4. 利用python随机生成姓名的实例教程

    本篇文章主要讲解:利用python随机生成姓名的实例教程 作者:任聪聪 整体思路 在我们生成姓名的时候,一般我们要考虑的是姓名的组合构成,姓+名,姓是固定的,名是随机的,故此我们可以通过随机调用常用汉 ...

  5. 怎样用python随机生成100内的100个奇数_python怎么随机生成奇数_后端开发

    PHP每15分钟自动更新网站地图(减少服务器消耗)_后端开发 sitemap.php为页面文件,sitemap.html为sitemap.php的克隆版,监控宝设置定时监控timeSitemap.ph ...

  6. python随机生成验证码_Python生成随机验证码的两种方法

    # -*- coding: utf-8 -*- import random def generate_verification_code_v2(): ''' 随机生成6位的验证码 ''' code_l ...

  7. 使用python随机生成IP+域名并写入excel表

    题目要求:使用python随机生成IP,随机域名:并创建excel表,将生成的随机IP与域名数据写入: 代码如下: import random import socket import struct ...

  8. python随机生成一个地区地址_Python生成随机MAC地址

    利用python代码生成一个随机的MAC地址,使用python网络编程时或可用上,如果使用scapy模块则可直接利用RandMAC()函数来生成MAC. python 复制代码 代码如下: impor ...

  9. python随机生成10个奇数_python怎么随机生成奇数

    python随机生成奇数的方法: 实现思路: 1.需要用到random模块 2.用列表展现给用户 3.检查这个数是否为奇数,在用append的方法将为奇数的随机数写入列表中 4.为了保证能输入与用户输 ...

最新文章

  1. framework7使用笔记
  2. 【java 性能优化实战】4 工具实践:基准测试 JMH,精确测量方法性能
  3. USB开发基础:USB设备的开发流程
  4. Linux_PXE服务器_RHEL7
  5. 遍历查询ldap服务器用户
  6. 第三方分享接口api
  7. RAC环境在ASM上创建表空间出错ORA-569
  8. HTML DOM教程 24-HTML DOM Frameset 对象
  9. 鼠标关机后仍然发光的实用解决方法
  10. PC软件开发技术之三:C#操作SQLite数据库
  11. elasticsearch的rest搜索--- 查询
  12. OpenCore引导配置说明第六版
  13. CAD字体显示不出来怎么办?
  14. [机器学习、Spark]Spark机器学习库MLlib的概述与数据类型
  15. 施工部署主要不包括_施工部署编制内容不包括( )_学小易找答案
  16. 群控云控SDK开发包(快速开发群控云控微信SCRM客服系统)
  17. 医学图像处理(三)ABIDE数据集下载
  18. 莱布尼兹其实离开我们并不遥远
  19. Python多继承mro
  20. JavaScript 实现表格隔行变色

热门文章

  1. CDN防御与高防服务器有什么区别
  2. Android问题:java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法
  3. 对话系统的历史(聊天机器人发展)
  4. 【JVM】jvm的双亲委派机制
  5. jQuery基础04
  6. 【go】gopl学习笔记(6.基于共享变量的并发)
  7. PPT调色技巧,调色小白们快来瞧瞧
  8. 全连接神经网络实现MNIST手写数字识别
  9. 腾讯云服务器远程连接登录流程
  10. Bug2021.01.07 Unity WebGL包 内网映射外网 图片下载不了