Python-控制台实现简单的名片管理系统

通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码。

cards_main.py文件中提供程序的入口

 1 import cards_toolslx
 2 
 3 while True:
 4     # TODO 显示功能菜单
 5     cards_toolslx.show_menu()
 6 
 7     GongNeng = input("请选择您要使用的功能:")
 8     print("您选择的操作是:[%s]" % GongNeng)
 9 
10     if GongNeng in ["1","2","3"]:
11 
12         #新增名片
13         if GongNeng == "1":
14             cards_toolslx.ChaRu()
15         #显示名片
16         elif GongNeng == "2":
17             cards_toolslx.XianShi()
18 
19         #查询名片
20         else:
21             cards_toolslx.ChaXun()
22 
23 
24 
25 
26     elif GongNeng == "0":
27         print("-" * 50)
28         print("欢迎再次使用名片管理系统")
29         break
30 
31     else:
32         print("-" * 50)
33         print("输入有误,请重新输入")

cards_toolslx.py文件提供名片系统中所用的各种函数

  1 """记录所有名片字典的列表"""
  2 card_list = []
  3 
  4 
  5 def show_menu():
  6     """显示菜单"""
  7     print("*" * 50)
  8     print("欢迎使用名片管理系统")
  9     print("1-新增名片")
 10     print("2-显示全部")
 11     print("3-搜索名片")
 12     print("0-退出系统")
 13     print("*" * 50)
 14 
 15 
 16 def ChaRu():
 17     """
 18     新增名片
 19 
 20     """
 21     print("-" * 50)
 22     print("新增名片")
 23 
 24     #1.提示用户输入名片的详细信息
 25     name_str = input("请输入姓名:")
 26     phone = input("请输入电话:")
 27     qq_str = input("请输入qq:")
 28     emall_str = input("请输入邮箱:")
 29 
 30     #2.当用户输入完成后建立用户名片字典
 31     card_dict = {"name":name_str,
 32                  "phone":phone,
 33                  "qq":qq_str,
 34                  "emall":emall_str}
 35     card_list.append(card_dict)
 36     print(card_list)
 37 
 38     #3.名片字典添加到列表中
 39     print("%s名片添加成功!" % name_str)
 40 
 41 def XianShi():
 42     """显示全部"""
 43     print("-" * 50)
 44     print("显示全部")
 45 
 46     #打印表头
 47     for name in ["姓名","电话","qq","邮箱"]:
 48         print(name,end="\t\t\t\t")
 49 
 50 
 51     print("")
 52     print("="*50)
 53 
 54     for card_dict in card_list:
 55         print("%s\t\t%s\t\t%s2\t\t%s" % (card_dict["name"],
 56                                         card_dict["phone"],
 57                                         card_dict["qq"],
 58                                         card_dict["emall"]
 59                                         ))
 60 
 61 
 62 
 63 def ChaXun():
 64     """搜索名片"""
 65     print("-" * 50)
 66     print("搜索名片")
 67     SouSuo = input("请输入要搜索的名字:")
 68 
 69     for a in card_list:
 70         if SouSuo == a["name"]:
 71             for name in ["姓名", "电话", "qq", "邮箱"]:
 72                 print(name, end="\t\t\t\t")
 73             print("")
 74 
 75             print("%s\t\t%s\t\t%s2\t\t%s" % (a["name"],
 76                                              a["phone"],
 77                                              a["qq"],
 78                                              a["emall"]
 79                                              ))
 80             deal_card(a)
 81 
 82             break
 83         else:
 84             print("未搜索到%s的名片!" % SouSuo)
 85 
 86 
 87 
 88 def deal_card(find_dict):
 89     """
 90 
 91     @param find_dict:
 92     """
 93     action_str = input("请选择要执行的操作"
 94                        "[1] 修改 [2] 删除 [0] 返回上级菜单")
 95 
 96 
 97 
 98     if action_str == "1":
 99         find_dict["name"] = input_card_info(find_dict["name"], "姓名")
100         find_dict["phone"] = input_card_info(find_dict["phone"],"电话")
101         find_dict["qq"] = input_card_info(find_dict["qq"],"QQ")
102         find_dict["emall"] = input_card_info(find_dict["emall"],"邮箱")
103         print("成功修改名片")
104 
105     elif action_str == "2":
106         card_list.remove(find_dict)
107         print("成功删除名片")
108 
109     elif action_str == "0":
110         show_menu()
111 
112     else:
113         print("输入错误,请重新选择!")
114 
115 
116 def input_card_info(dict_value,tip_message):
117 
118     #1.提示用户输入内容
119     result_str = input_card_info(tip_message)
120     #2.针对用户的输入如进行判断,如果用户输入修改数据,直接返回结果
121     if len(result_str) > 0:
122         return result_str
123 
124     else:
125         return dict_value
126     #3.如果用户没有输入内容,返回字典中原有的值

 

Tags: