python随笔--根据号码查询归属地

给定一组(串)数据,根据输入得号码,查询归属地

 1 def num_info(num):
 2     info0 = """5583|1860100|010|北京市|北京联通GSM卡
 3     5584|1368141|010|北京市|北京移动神州行卡
 4     15046|1391897|021|上海市|上海移动全球通卡
 5     17250|1502207|022|天津市|天津移动全球通卡"""
 6     #根据上面的字符串,每一条个人信息的结尾都有一个“卡”字,我们可以按照这个字来将字符串切割,也可以按照行来切
 7     # (如果给你的字符串没有换行,我觉得按照“卡”字来切是极好的)
 8 
 9     lt0 = list(info0.split(""))
10     #将给定的字符串按照“卡”字来切割,转换成列表,赋值给lt0
11 
12     dict0 = {}
13     #建立一个空字典(下面要用)
14 
15     for i in range(len(lt0)-1):
16         #用i来来遍历lt0列表的长度(为什么要长度减一呢?因为按照“卡”字来切,列表下标为-1的那个元素是空的)
17         #下面要用的元素下标,如果不减一,那么最后一个元素是空的,一旦使用下标遍历到最后一个元素,
18         # 就会报错(因为列表中的最后一个元素是空的:自己可以试一下,打印出来看一下)
19 
20         # 下面这一行代码是切割列表中的元素,按照“|”来切,将列表中第i个元素切割完赋值个lt1(list)
21         lt1 = lt0[i].split("|")
22 
23         #添加字典的键(录入切割好lt1列表下标为1的元素),
24         # 和字典的值(lt1列表的最后一个元素,下标为-1,因为切割时把卡字切掉了,在这里加上)
25         dict0[lt1[1]] = "{}卡".format(lt1[-1])
26 
27      #打印出来(将需要查询的数字使用字典的get函数查询出来,如果没有查询到,会返回默认值none,这里可以自定义返回内容)
28     print("你查询的号码属于:{}".format(dict0.get("{}".format(num),"查询的号码不存在!")))
29 num1 = input("请输入你要查询的号码前七位:")
30 num_info(num1)

如有错误,感谢指正!

猜你喜欢

转载自www.cnblogs.com/ilovezzh/p/9388058.html