用Python判断手机号码的运营商

python如何判断用户的电话属于移动、联通、还是电信的 这个需要用到列表、集合、if判断 #获取用户电话号码 a = int(input('请输入电话号码\n')) #转换为列表 b = (int(a/100000000)) c = [b] #列入三大运营商的号段 cmcc = [139,138,137,136,135,134,147,150,151,152,157,158,159,178,182,183,184,187,188,198] cu = [130,131,132,155,156,166,185,186,145,176] ct = [133,153, 阅读详情

现在的APP一般在注册应用的时候,都会让用户输入手机号码,在短信验证之前首先会验证号码的真实性,如果是不存在的号码,就不会发送验证码。检验规则如下:

  1. 长度不小于11位
  2. 是移动,联通,电信号段中的任意一个
  3. 不考虑输入非数字的情况(简化程序)
  4. 移动号段,联通号段,电信号段如下:
CN_mobile = \
[134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,
187,188,147,178,1705]
CN_union = [130,131,132,155,156,185,186,145,176,1709]
CN_telecom = [133,153,180,181,189,177,1700]

程序效果如下:

Enter your number :123
Invalid length, your number should be in 11 digits
Enter your number :12312345678
No such an operator
Enter your number :18812345678
Operator : China Mobile
We're sending verification code via text to your phone: 18812345678

分析:

输入的手机号码默认是string字符串,而题目中给出的是list列表,所以需要有一步转换,显然是转换成字符串操作比较容易。

发现号码段中同时出现了3位和4位的数字,所以要用两个字符串去匹配,匹配的代码为

key in statement

代码:

# 校验手机号码的真实性
def judge_operator(phone_num):
    id3 = phone_num[0:3]
    id4 = phone_num[0:4]
    CN_mobile = \
    [134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,
    187,188,147,178,1705]
    CN_union = [130,131,132,155,156,185,186,145,176,1709]
    CN_telecom = [133,153,180,181,189,177,1700]
    if ((id3 in str(CN_mobile)) or (id4 in str(CN_mobile))):
        return "China Mobile"
    elif ((id3 in str(CN_union)) or (id4 in str(CN_union))):
        return "China Union"
    elif ((id3 in str(CN_telecom)) or (id4 in str(CN_telecom))):
        return "China Telecom"
    else:
        return 0

def verify_phone_number():
    phone_number = input("Enter your number :")
    invalid = len(phone_number)<11
    # print(invalid)
    if (invalid):
        # print(invalid)
        print("Invalid length, your number should be in 11 digits")
        verify_phone_number()    # 函数递归调用
    else:
        operator = judge_operator(phone_number)    # 返回的是字符串
        if (operator):
            print("Operator : {}".format(operator))
            print("We're sending verification code via text to your phone: {}".format(phone_number))
        else:
            print("No such an operator")
            verify_phone_number()    # 函数递归调用

verify_phone_number()

 

基于安卓5G信号参数获取上报的APP设计与实现.pdf 立即下载

相关推荐

pi/4QPSK调制解调原理

文章目录1. π/4\pi/4π/4QPSK 信号的调制原理2. 匹配滤波器与成形滤波器 1. π/4\pi/4π/4QPSK 信号的调制原理 减小相位突变量的QPSK由偏置键控QPSK(OK-QPSK)和 π/4\pi/4π/4偏置的QPSK( π/4\pi/4π/4QPSK)。由于 π/4\pi/4π/4QPSK是用差分相位编码产生的(因此也叫做 π/4\pi/4π/4DQPSK),能有效地进行差分解调和鉴频器解调,在一些不易提取相干载波的场合很有用。 在常规的QPSK中,输入数据经过串/并变换后,分成

gemengxia的博客 2万+

Python手机号码归属判断

Python进行简单的手机号码营业判断

guchen675的博客 3741

深信服 SANGFOR 设备密码恢复和配置备份恢复

、恢复密码 当我们拿到一台设备要去配置管理的时候,首先是要确认设备的登录IP,其次就是确认设备控制台登录密码。不知情的情况下如何找到设备的登录IP,请参考文档: http://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=9484 下文中提到的关于“网关升级客户端”的一些功能,也请参考此文档。 那么恢复密码,大家都知道有2种方法:U盘恢复密码、交叉线恢复密码。 1、U盘恢复密码 注意:仅恢复admin密码,不影响配置。 U盘恢复密码的前

李先生在闯荡江湖 1万+

判断手机号所属运营商--课后程序(Python程序开发案例教程-黑马程序员编著-第11章-课后作业)

说到手机号大家并不陌生,一个手机号码由11位数字组成,前3位表示网络识别号,第4~7位表示地区编号,第8~11位表示用户编号。因此,我们可以通过手机号前3位的网络识别号辨别手机号所属运营商。在我国手机号运营商有移动、联通、电信,各大运营商的网络识别号

芝麻的博客 6129

实战分享:如何用Dify和MaxKb实现文档智能切分与高效检索(附代码解析)

本文详细介绍了如何结合Dify和MaxKB构建文档智能切分与高效检索系统。针对传统全文检索的不足,提出了结构感知的文档切分方案,通过解析文档层级关系并构建标题链,实现了精准的章节级检索。文章包含完整的代码实现,涵盖文档解析、智能切分、向量化策略及双索引优化,并分享了性能调优和生产环境实践经验。

qsc90123456的博客 546

ArcGIS基础:城市交通网络构建及设施服务分析(一):道路数据处理与拓扑操作

首先需要加载数据, 1:选择这个数据库:,右键导入,选择导入单个要素,弹出“要素类至要素类” 2:输出位置(导入的数据是CAD格式数据)。 3:输出要素类为道路。 4:字段只保留道路类型字段。 这个操作是分类合并各级道路数据。 1:通过属性选择各类道路数据。 2:比如此类都是“干道”。 3:编辑器下来,然后合并即可。 得到如图所示,需要用到三个字段。 上面这个操作是打断道路相交线。 1:选中所有数据。 2:找到高级编辑中的打断相交线。 3:确定即可。 下面进行拓扑检查,虽然我们已经进行合并和打断相交.

yuanYW7556的博客 2万+

厉害!Python竟知道你的手机号归属~只用10行代码!

作为网优工程师,你是否也曾奢望手里有一份全国手机号码归属地对应表?学习Python后,我的这一梦想可以实现了。今天偶然看到了一个直接获取手机号码归属地的模块phone,今天咱们就来实战一...

算法channel 1582

利用OTSU阈值算法在ZYNQ上实现浒苔识别

利用OTSU阈值算法进行图像二值化,结果用HDMI显示

qq_38075564的博客 1275

学习-Python字典之手机号归属运营商判断

学习-Python字典之手机号归属运营商判断 """ 任务:给定一个列表 phone_list,列表的元素为手机号,统计列表 phone_list 中给出的手机号号码段分别归属中国移动、联通、电信、虚拟运营商的数量值,以字典的形式输出四个运营商号码的数量。 输出格式:{"移动":num1,"联通":num2,"电信":num3,"虚拟":num4} """ phone_list = [13326356606, 14009606880, 13117746845, 13737677952, 13539707

MT 1万+

拆解歌尔2718硅麦:2.75mm超小封装背后的MEMS技术解析

本文深度解析歌尔2718硅麦的2.75mm超小封装技术,探讨MEMS麦克风在微型化过程中的声学性能与结构可靠性平衡。通过ASIC芯片堆叠、纳米级应力控制等创新技术,歌尔2718在TWS耳机和智能手机中实现卓越性能,同时克服微型化带来的声学挑战。

weixin_28292761的博客 610

FFMPEG音视频开发: Linux下采集音频(alsa-lib库)、视频(V4L2框架)数据编码并实时推流到RTMP流媒体服务器,达到直播功能(推流)

一、环境介绍 操作系统: VM虚拟机运行的ubuntu18.04 FFMPEG版本: 4.4.2 摄像头: 罗技USB摄像头、电脑自带摄像头 声卡:电脑自带声卡 二、FFMPEG、X264的安装 参考这里:FFMPEG开发: Linux下采集摄像头数据录制成MP4视频保存到本: 地https://blog.youkuaiyun.com/xiaolong1126626497/article/d...

2990

python判断手机号运营商_python手机号码运营商归属测试

python;gutter:true;">#手机号码测试:def number_test():while True:number = input('Please enter your phone number:')CN_mobile = [134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1...

weixin_39779467的博客 2178

基于STM32L4XX、HAL库的MP2672GD-0000-Z充电芯片驱动程序设计

CHG_STAT_GPIO_Port, CHG_STAT_Pin, // 这些宏应由 CubeMX 生成在 main.h。

zhusl6688的博客 494

python判断手机号运营商_匹配手机号码及运营商校验

最新手机号正则,(无法保证时效性,注意 及时更新)移动:134、135、136、137、138、139、147、148、150、151、152、157、158、159、172、178、182、183、184、187、188、198,联通:130、131、132、145、146、155、156、166、171、175、176、185、186,电信:133、149、153、173、174、177、18...

weixin_39641334的博客 1283

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Python-输入一串字符,判断是否为手机号码

输入一串字符,判断输入的手机号码是否有效

weixin_57255032的博客 5223

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python按照号段生成手机号接收验证码_用Python判断手机号码的运营商

现在的APP一般在注册应用的时候,都会让用户输入手机号码,在短信验证之前首先会验证号码的真实性,如果是不存在的号码,就不会发送验证码。检验规则如下:长度不小于11位是移动,联通,电信号段中的任意一个不考虑输入非数字的情况(简化程序)移动号段,联通号段,电信号段如下:CN_mobile = \[134,135,136,137,138,139,150,151,152,157,158,159,182,1...

weixin_39992788的博客 627

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python判断手机号运营商_如何判断手机号的运营商那?

如题,大家是怎么做的那?网上找了好多,不知道为什么不行var isChinaMobile = /^134[0-8]\\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\\d{8}$/; //移动方面最新答复var isChinaUnion = /^(?:13[0-2]|145|15[56]|176|18[56])\\d{8}$/; //向联通微博确认并...

weixin_39809140的博客 626

python判断手机号运营商_基于python的-使用正则表达式验证手机号并匹配运营商和所述地域...

import reimport json# 将语句中不符合手机号码规则的数字串剔除,保存剩余符合手机号码规则的数字到ns中def is_phone(n):ns = re.findall('\d+', n) # 提取出word语句中的数字new_list = ns[:] # 拷贝提取出的数字for i in new_list:if re.match(r'0?(13|14|15|17|18|19)...

weixin_32369749的博客 947

python判断手机号码是否正确_python检测手机号码是否合法

1 !/usr/bin/python2 #encoding:utf-83 #这是一个用来检测用户输入手机号码是否合法的小脚本。45 defphonecheck(s):6 #号码前缀,如果运营商启用新的号段,只需要在此列表将新的号段加上即可。7 phoneprefix=['130','131','132','133','134','135','136','137','...

weixin_39559750的博客 2048

请多指教!大学生自学python进阶之路第二期

利用列表,将中国移动联通电信的号码开头分别写入# }#prefix取出输入的电话号码的前3位= 11:#通过prefix not in 判断输入的电话号码 属不属于上面的三个运营商else:mian()定义main函数,运用判断语句,对输入的电话号码进行判断,是否为正确的手机号码,以及其运营商是哪个,如果需要更具体的电话号码运营商,号码归属地,邮编等可以在网上搜寻网站,进行接口接收,这样就可以实时收到电话号码的具体信息。

2301_79234584的博客 613

python手机号码运营商归属测试

#手机号码测试: def number_test(): while True: number = input('Please enter your phone number:') CN_mobile = [134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147...

weixin_30678349的博客 1106

使用Python条件判断实现号段筛选器判断运营商

使用Python条件判断实现号段筛选器判断运营商 判断运营商 # 中国移动 CMCC = ['134', '135', '136', '137', '138', '139', '147', '150', '151', '152', '157','158', '159', '172', '178', '182', '183', '184', '187','198'] # 中国联通 CDMA = ...

weixin_45699628的博客 1084

python手机号定位_python手机号码运营商归属测试

#手机号码测试:def number_test():while True:number = input('Please enter your phone number:')CN_mobile = [134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705]CN_union = [130, 131...

weixin_39857480的博客 198

python小游戏判断电话号码哪家运营商,Q退出

#输入号码判断是否中国移动中国联通中国电信,‘Q’退出 def invest(amount,rate,time): result=0 for i in range(1,time+1): result=amount*(1+rate)**i print('year {}: $ {}'.format(i,result)) invest(100,0.05,1...

z011205547的博客 378

python判断电话号码是否合理_Python正则匹配判断手机号是否合法的方法

正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。# 需求# 定义一个函数,用于判断输入的手机号是否合法# 并判断...

weixin_39767121的博客 2917

Python正则匹配判断手机号是否合法

import re # 需求 # 定义一个函数,用于判断输入的手机号是否合法 # 并判断它的运营商 # 思路步骤: # 1.首先了解三大运营商的号段分布 # 2.获取用户输入内容 # 3.判断输入是否是一个手机号 # 4.如果手机号合法,判断该手机号段的运营商 # 5.输出 def phone(): n = input("请输

Beyond_F4的博客 1万+
上一篇: LeetCode第1题:Two Sum
下一篇: 用Python统计瓦尔登湖的词频
刘凯KAI
博客等级 码龄15年 663粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值