# 练习2: # 模拟手机通讯录搜索功能 name_list = ['zhangsan','zhangsanfeng','zhaoliu','wangwu','wulong','wanda','lisi','liuyang','luoxiaoxiao','linmeimei','luhan','gaohairui','guojing','huangrong','hanhan'] # {'z':['zhansgan','zhangsanfeng','zhaoliu'],'l':['lisi','liuyang','luoxiaoxiao'。。。。。。]} # while True: # # s = input("请输入要查找的联系人姓氏首字符:") # print('0.zhangsan') # print('1.zhangsanfeng') # print('2.zhaoliu') # 方法1: name_dict = {} for x in range(0, len(name_list)): name = name_list[x] name_one = name[0] list = [name] if name_one not in name_dict.keys(): name_dict[name_one] = list else: name_dict[name_one].append(name) while True: num = input('请输入您要查询的首字母:') if num in name_dict.keys(): for x in range(0,len(name_dict[num])): print('%s' % name_dict[num][x]) else: print('该姓氏不存在,请重新输入') # 方法2: result_dict = {} # for 循环遍历列表,取出每一个姓名 for name in name_list: # 取出首字母 first_char = name[0] # 判断字典中是否有first_char这个key if first_char in result_dict.keys(): # 字典中有这个key # 根据key取出列表,将这个name添加到列表中 list1 = result_dict[first_char] list1.append(name) else: # 没有first_char这个key # 根据这个key将存放name的列表放入字典中 result_dict[first_char] = [name] while True: s = input('请输入要查找的联系人姓氏首字母:') if s in result_dict.keys(): # 根据s这个key取出字典中对应的值(列表) list1 = result_dict[s] for index,name in enumerate(list1): print('序号:{} 姓名:{}'.format(index,name)) else: print('没有查询到该姓氏')
基于python的-模拟手机通讯录功能
最新推荐文章于 2024-04-21 00:38:29 发布