手机号统计分析:中国移动、联通、电信数量及非法号码识别
手机号统计分析
该程序可以统计文本文件中的手机号数量,包括中国移动、中国联通、中国电信,并识别非法号码,包括长度不合法、字符不合法和号段不合法。
代码实现:
cm = 0 # 中国移动个数
cu = 0 # 中国联通个数
ct = 0 # 通过电信个数
lenerr = 0 # 长度不合法个数
digiterr = 0 # 字符不合法个数
preerr = 0 # 号段不合法个数
# 字段
phone_prefix = ['130','131','132','155','156','185','186','145','176',
'134','135','136','137','138','139','147','150','151','152','157','158','159','178','182','183','184','187','188',
'133','153','189']
with open('phone.txt','r') as file:
phone_list = file.readlines() # 读取数据
phone_list = list(set(phone_list)) # 数据去重
for phone_num in phone_list:
phone_num = phone_num.strip()
if len(phone_num) != 11:
lenerr += 1
elif not phone_num.isdigit():
digiterr += 1
elif phone_num[:3] not in phone_prefix:
preerr += 1
elif phone_num[:3] in ['134','135','136','137','138','139','147','150','151','152','157','158','159','178','182','183','184','187','188']:
cm += 1
elif phone_num[:3] in ['130','131','132','155','156','185','186','145','176']:
cu += 1
else:
ct += 1
print('移动数量为%d个,
联通数量为%d个,
电信数量为%d个,
长度不合法数量为%d个,
字符不合法数量为%d个,
号段不合法数量为%d个。
' % (cm, cu, ct,lenerr,digiterr,preerr))
功能说明:
- 读取数据: 从
phone.txt文件中读取手机号数据,并进行去重处理。 - 判断手机号合法性: 按照以下顺序进行判断:
- 长度: 手机号长度必须为 11 位。
- 字符: 手机号只包含数字。
- 号段: 手机号前三位必须在
phone_prefix列表中。
- 统计数量: 统计中国移动、中国联通、中国电信的手机号数量,以及非法号码数量。
- 输出结果: 输出统计结果。
使用方法:
- 将
phone.txt文件放置于与代码相同目录下。 - 运行代码。
- 程序将输出手机号统计结果。
注意事项:
- 确保
phone.txt文件中每个手机号占一行。 - 该程序仅供参考,实际应用中可能需要根据具体需求进行调整。
原文地址: https://www.cveoy.top/t/topic/octZ 著作权归作者所有。请勿转载和采集!