手机号统计分析

该程序可以统计文本文件中的手机号数量,包括中国移动、中国联通、中国电信,并识别非法号码,包括长度不合法、字符不合法和号段不合法。

代码实现:

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))

功能说明:

  1. 读取数据: 从 phone.txt 文件中读取手机号数据,并进行去重处理。
  2. 判断手机号合法性: 按照以下顺序进行判断:
    • 长度: 手机号长度必须为 11 位。
    • 字符: 手机号只包含数字。
    • 号段: 手机号前三位必须在 phone_prefix 列表中。
  3. 统计数量: 统计中国移动、中国联通、中国电信的手机号数量,以及非法号码数量。
  4. 输出结果: 输出统计结果。

使用方法:

  1. 将 phone.txt 文件放置于与代码相同目录下。
  2. 运行代码。
  3. 程序将输出手机号统计结果。

注意事项:

  • 确保 phone.txt 文件中每个手机号占一行。
  • 该程序仅供参考,实际应用中可能需要根据具体需求进行调整。
手机号统计分析:中国移动、联通、电信数量及非法号码识别

原文地址: https://www.cveoy.top/t/topic/octZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录