Python实现自定义规则生成不重复手机号的方法
本文介绍如何使用Python生成符合特定规则的11位手机号。通过自定义前三位、中间四位地区码或后四位尾号,程序可生成指定数量的不重复手机号列表,适用于测试数据生成场景。
Python手机号生成功能概述
本文分享一个使用Python编写的手机号生成示例,供读者参考学习。
基于现有的手机号生成代码进行了优化,使其支持按特定规则生成手机号。
核心代码实现与逻辑解析
#!/usr/bin/python
# coding=utf-8
'''
1:随机生成11位手机号 2:只自定义地区(第4--7位)
3:只自定义尾号(第8--11位) 4:自定义后8位手机号
5:只自定义前3位
'''
import time,random
print __doc__
def moblieRandomcode(third=None,four=None,eight=None):
rnum0 = random.randrange(0,10) # 手机号第3位
rnum1 = random.randrange(0,1001) #手机号第4--7位
four_4 = "0" * (4 - int(len(str(rnum1)))) + str(rnum1) #手机号第4--7位,前面补0
rnum2 = random.randrange(0,1001) #手机号第8--11位
eight_8 = "0" * (4 - int(len(str(rnum2)))) + str(rnum2)
runm3 = random.choice("3578") #手机号第2位
third_3 = "1" + str(runm3) + str(rnum0)
if four:
four_4 = four
if eight:
eight_8 = eight
if third:
third_3 = third
moblienum = third_3 + four_4 + eight_8
return moblienum
#生成固定数量不重复的手机号列表
def cishu(t=1):
list_m = []
while 1:
num = moblieRandomcode(third,si,ba)
list_m.append(num)
list_m = list(set(list_m)) #去掉重复的手机号
if len(list_m) == t:
break
return list_m
#生成规则
choice = int(raw_input("请选择:"))
if choice == 1:
third = None
si = None
ba = None
elif choice == 2:
third = None
si = raw_input("请输入第4--7位:")
ba = None
elif choice == 3:
third = None
si = None
ba = raw_input("请输入第8--11位:")
elif choice == 4:
third = None
si = raw_input("请输入第4--7位:")
ba = raw_input("请输入第8--11位:")
elif choice == 5:
third = raw_input("请输入前三位:")
si = None
ba = None
t = int(raw_input("请输入需要生成多少个手机号:"))
list_m = cishu(t)
for i in range(0,len(list_m)):
print i+1,"----",list_m[i]
print "共生成",len(list_m),"个不重复的手机号"
运行结果与交互示例
程序运行后的效果如下所示:
程序提供五种生成模式:1. 随机生成完整11位手机号;2. 仅自定义第4至7位(地区码);3. 仅自定义第8至11位(尾号);4. 自定义后8位数字;5. 仅自定义前3位号码。
用户选择模式1后,输入生成数量(例如3个),程序输出结果如:1 ---- 15602340044,2 ---- 15608590646,3 ---- 15201260001,并提示共生成了指定数量的不重复手机号。
相关工具与扩展资源
此外,推荐一款辅助工具供参考:
在线随机生成个人信息数据工具: http://tools.jb51.net/aideddesign/rnd_userinfo
更多关于Python的学习资源可查阅本站相关教程,包括《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python正则表达式用法总结》。
希望上述内容对您的Python编程实践有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









