基于python2.7
cards_mian.py
#encoding=utf-8 import cards_tools while True: cards_tools.show_menu() action_str = input("请选择你希望执行的操作:") print ("您选择的操作是【%s】" % action_str) if action_str in [1,2,3]: if action_str == 1: cards_tools.creat_card() elif action_str == 2: cards_tools.show_all() elif action_str == 3: cards_tools.serch_card() elif action_str == 0: print ("欢迎再次使用【名片管理系统】") break else: print("您输入的不正确,请重新输入")
cards_tools.py
#encoding=utf-8 from __future__ import print_function card_list = [] def show_menu(): """显示菜单""" print ("*" * 50) print("欢迎使用【名片管理系统】 v1.0") print("") print("1. 新增名片") print("2. 显示全部") print("3. 搜索名片") print("") print ("0. 退出系统") print("*" * 50) def creat_card(): print ("-" * 50) print ("增加名片") #1:提示用户输入名片详细信息 name_str = raw_input("请输入姓名:") phone = raw_input("请输入电话:") qq = raw_input("请输入qq:") email = raw_input("请输入邮箱:") #2:将用户输入的信息放入字典之中 card_dict = {"name":name_str, "phone":phone, "qq":qq, "email":email} #3将字典加入列表之中 card_list.append(card_dict) #4显示名片添加成功 print("添加 %s 的名片成功!" % name_str) def show_all(): # type: () -> object print ("-" * 50) print ("显示所有名片") # 判断是否有名片记录,如果没有提示用户 if len(card_list) == 0: print("当前没有任何的名片记录,请使用新增功能添加名片!") return #打印表头 for name in ["姓名","电话","QQ","邮箱"]: print (name,end=" ") print ("") for card_dict in card_list: print ("%s %s %s %s" % (card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"])) def serch_card(): print ("-" * 50) print ("搜索名片") #1提示用户输入搜索的姓名 find_name = raw_input("请输入需要搜索的姓名:") #2遍历名片列表,查询搜索的姓名,如果没找到,提示用户 for card_dict in card_list: if card_dict["name"] == find_name: print("姓名 电话 qq 邮箱") print("-" * 50) print("%s %s %s %s" % (card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"])) #针对找到的名片进行修改删除操作 deal_card(card_dict) break else: print("抱歉,没找到 %s" % find_name) def deal_card(find_dict): """ 处理查找到的名片 :param find_dict: 查找到的名片 """ print(find_dict) action_str =input ("请选择需要执行的操作" "1 修改 2 删除 0 返回上级菜单") print(action_str) if action_str == 1: find_dict["name"] = input_card_info(find_dict["name"],"姓名:") find_dict["phone"] = input_card_info(find_dict["name"],"电话:") find_dict["qq"] = input_card_info(find_dict["name"],"QQ:") find_dict["email"] = input_card_info(find_dict["name"],"邮箱:") print ("修改名片成功!") elif action_str == 2: card_list.remove(find_dict) print("删除名片成功!") def input_card_info(dict_value,tip_message): #1提示用户输入内容 """ :param dict_value: 字典中原有的值 :param tip_message: 输入的提示文字 :return: 如果用户输入了内容,就返回内容,否则就返回字典中原有的值 """ result_str = raw_input(tip_message) #2针对用户输入的内容进行判断,如果用户输入了内容,直接返回结果 if len(result_str) > 0: return result_str #3如果用户没有输入内容,返回`字典中原有的值` else: return dict_value pass