学员名片管理系统

主程序:
 1 import cards_toolss
 2 while True:
 3     #显示功能菜单
 4     cards_toolss.show_menu()
 5     action_str=input("请选择希望执行操作:")
 6     print("你选择希望执行操作【%s】"%action_str)
 7     if action_str in ["1","2","3","4"]:
 8         #新增名片
 9         if action_str=="1":
10             cards_toolss.new_card()
11         #显示全部名片
12         elif action_str=="2":
13             cards_toolss.show_all()
14         #查询名片
15         elif action_str=="3":
16             cards_toolss.search_card()
17         elif action_str=="4":
18             print("欢迎你再次使用【名片管理系统】")
19             break
20     else:
21         print("你输入有误,重新输入。")

功能程序:

 

  1  1 # -*- coding:utf-8 -*-
  2   2 #开发工具
  3   3 #定义一个空列表记录所有名片字典
  4   4 card_list=[]
  5   5 def show_menu():
  6   6     """显示菜单"""
  7   7     print("*" * 50)
  8   8     print ("欢迎你使用[名片管理系统] v 1.0")
  9   9     print("")
 10  10     print("1. 新增名片")
 11  11     print("2. 显示全部")
 12  12     print("3. 查询名片")
 13  13     print("")
 14  14     print("0. 退出系统")
 15  15     print("*" * 50)
 16  16 
 17  17 def new_card():
 18  18     """新增名片"""
 19  19     print("-" * 50)
 20  20     print("新增名片")
 21  21     #提示用户输入名片的详细信息
 22  22     name_srt=input("请输入姓名:")
 23  23     phone_srt=input("请输入电话:")
 24  24     qq_srt=input("请输入QQ:")
 25  25     email_srt=input("请输入邮箱:")
 26  26     #使用用户输入的信息建立一个名片字典
 27  27     card_dict={
 28  28                 "name":name_srt,
 29  29                 "phone":phone_srt,
 30  30                 "QQ":qq_srt,
 31  31                 "email":email_srt,
 32  32                 }
 33  33     
 34  34     card_dict={}
 35          """
 36  35     card_dict["name"]=name
 37  36     card_dict["phone"]=phoen
 38  37     card_dict["QQ"]=qq
 39  38     card_dict["email"]=email
 40  39     
 41  40     """
 42  41     #将名片字典添加到列表中
 43  42     card_list.append(card_dict)
 44  43     #print(card_list)  测试
 45  44     #提示用户添加成功
 46  45     print("添加%s名片成功"%name_srt)
 47  46 def show_all():
 48  47     """显示所有名片"""
 49  48     print("-" * 50)
 50  49     print("显示所有名片")
 51  50     #判断是否存在名片记录,如果没有提示并返回
 52  51     if len(card_list)==0:
 53  52         print("当前没有任何的名片记录,请使用新增功能添加名片")
 54  53         #return可以返回一个函数执行结果
 55  54         #下方代码不会被执行
 56  55         #如果return后面没有任何内容,表示会到调用函数的位置
 57  56         #并且不返还任何结果
 58  57         return
 59  58     # 打印表头
 60  59     for name in ["姓名","电话","QQ","邮箱"]:
 61  60         print(name,end="\t\t")
 62  61     print("")
 63  62     #打印分割线
 64  63     print("=" * 50)
 65  64     #遍历名片列表依次输出字典
 66  65     for card_dict in card_list:
 67  66         #print(card_dict)
 68  67         print("%s\t\t%s\t\t%s\t\t%s"%(
 69  68             card_dict["name"],
 70  69             card_dict["phone"],
 71  70             card_dict["QQ"],
 72  71             card_dict["email"]
 73  72         ))
 74  73     print("=" * 50)
 75  74 
 76  75 def search_card():
 77  76     """搜索名片"""
 78  77     print("-" * 50)
 79  78     print("搜索名片")
 80  79     #提示用户输入要搜索名片
 81  80     find_name=input("请输入要搜索姓名:")
 82  81     #遍历名片列表,查询要搜索名片,如果没有找到,提示用户
 83  82     for card_dict in card_list:
 84  83         if card_dict["name"]==find_name:
 85  84             #print("找到了%s"%find_name)
 86  85             """    for name in ["姓名","电话","QQ","邮箱"]:
 87  86         print(name,end="\t\t")
 88  87     print("")
 89  88     #打印分割线
 90  89     print("=" * 50)
 91  90     #遍历名片列表依次输出字典
 92  91     for card_dict in card_list:
 93  92         #print(card_dict)
 94  93         print("%s\t\t%s\t\t%s\t\t%s"%(
 95  94             card_dict["name"],
 96  95             card_dict["phone"],
 97  96             card_dict["QQ"],
 98  97             card_dict["email"]
 99  98         ))
100  99     print("=" * 50)
101 100             """
102 101             print("姓名\t\t电话\t\tQQ\t\temail")
103 102             print("=" * 50)
104 103             print("%s\t\t%s\t\t%s\t\t%s" % (
105 104                 card_dict["name"],
106 105                 card_dict["phone"],
107 106                 card_dict["QQ"],
108 107                 card_dict["email"]
109 108             ))
110 109             print("=" * 50)
111 110             # 针对找到名片记录执行修改和删除
112 111             deal_card(card_dict)
113 112             break
114 113     else:
115 114         print("抱歉,没有找到%s"%find_name)
116 115 def deal_card(find_name):
117 116     """
118 117         处理查找到的名片
119 118     :param find_name: 查找到的名片
120 119     """
121 120     print(find_name)
122 121     action_str=input("请输入要执行操作 "
123 122                      "[1] 修改 [2] 删除 [0] 返回上级菜单")
124 123     if action_str=="1":
125 124         find_name["name"] = input_card_info(    find_name["name"],"姓名:")
126 125         find_name["phone"] = input_card_info(find_name["phone"],"电话:")
127 126         find_name["QQ"] = input_card_info(find_name["QQ"],"QQ:")
128 127         find_name["email"] = input_card_info(find_name["email"],"email:")
129 128         print("修改%s名片成功"%find_name["name"])
130 129     elif action_str=="2":
131 130         card_list.remove(find_name)
132 131         print("删除%s名片成功"%find_name["name"])
133 132 
134 133 def input_card_info(dict_value,tip_message):
135 134     """输入名片信息
136 135 
137 136     :param dict_value: 字典中原有的值
138 137     :param tip_message: 输入提示文字
139 138     :return: 如果用户输入内容,就返回内容,否则返回字典中原有的值
140 139     """
141 140     #提示用户输入内容
142 141     result_str=input(tip_message)
143 142     #针对用户的输入进行判断,如果用户输入内容,直接返回结果
144 143     if len(result_str)>0:
145 144         return result_str
146 145     else:
147 146         return dict_value
148 147 
149 148     #如果用户没有输入内容,返回字典中原有的值
150  

 

posted @ 2017-12-20 18:21  zqxqx  阅读(186)  评论(0编辑  收藏  举报