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)
如有错误,感谢指正!