s = '''5582|1860101|010|北京市|北京联通GSM卡 5583|1860100|010|北京市|北京联通GSM卡 5584|1368141|010|北京市|北京移动神州行卡 5585|1860111|010|北京市|北京联通GSM卡 5586|1358198|010|北京市|北京移动动感地带卡 5587|1361139|010|北京市|北京移动预付费卡 5588|1361138|010|北京市|北京移动神州行卡 5591|1360110|010|北京市|北京移动全球通卡 5748|1364110|010|北京市|北京移动神州行卡 10186|1581584|020|广东省广州市|广东移动全球通卡 15046|1391897|021|上海市|上海移动全球通卡 17250|1502207|022|天津市|天津移动全球通卡 21137|1345272|023|重庆市万州|重庆移动大众卡 22700|1347812|024|辽宁省沈阳市|辽宁移动大众卡 24256|1377065|025|江苏省南京市|江苏移动全球通卡 26360|1898606|027|湖北省武汉市|湖北电信CDMA卡 28709|1860802|028|四川省成都市|四川联通GSM卡 30641|1552961|029|陕西省西安市|陕西联通GSM卡 31700|1563007|0310|河北省邯郸市|河北联通GSM卡 33360|1583396|0311|河北省石家庄市|河北移动全球通卡 34825|1508122|0312|河北省保定市|河北移动全球通卡 35363|1551235|0313|河北省张家口|河北联通GSM卡 37700|1331326|0316|河北省廊坊市|河北电信CDMA卡 43500|1350358|0358|山西省吕梁市|山西移动全球通卡 43908|1553625|0359|山西省运城市|山西联通GSM卡 44521|1335360|0370|河南省商丘市|河南电信CDMA卡 50078|1509369|0378|河南省开封市|河南移动全球通卡 53603|1583981|0398|河南省三门峡|河南移动全球通卡 53916|1335897|0410|辽宁省铁岭市|辽宁电信CDMA卡 55248|1554254|0411|辽宁省大连市|辽宁联通GSM卡 58618|1374272|0427|辽宁省盘锦市|辽宁移动全球通卡 58932|1554183|0429|辽宁省葫芦岛|辽宁联通GSM卡 60268|1340475|0431|吉林省长春市|吉林移动大众卡''' # 保存信息的字典 guishudi = {} # 按照换行进行切割 lt = s.splitlines() # 遍历处理 for info in lt: # 按照'|'进行切割 info_list = info.split('|') # 保存有效信息到字典 guishudi[info_list[1]] = info_list[-1] while True: phone = input('请输入号码的前7位:') if len(phone) < 7: print('号码位数不够') continue # 提取前7位 phone = phone[:7] # 查询 info = guishudi.get(phone, '号码有误') print(info)
运行结果: