Python3实现名片管理系统示例

基于Python3下的综合名片管理系统,这是一个用 Python 开发的可视化的名片管理系统,主要实现名片的添加、删除、修改三大功能。效果图如下所示

需要实现的功能:

  1.启动终端执行程序后,出现如下界面(新增,显示全部和查询)

Python实现名片管理系统示例

启动界面

  2.通过相应的选项可以实现相应的功能

Python实现名片管理系统示例

新增名片

Python实现名片管理系统示例

显示全部名片

  3.选择查找用户后,如果找到用户,提示用户进行修改或者删除操作

Python实现名片管理系统示例

主要知识点:

  1.分支结构,循环结构的使用

  2.主函数搭建框架,主要功能写在另一模块中

  3.每一个函数代码不宜太长,如果有子功能可以再封装成一个函数调用

  4.列表,字典变量的应用

  5.注释的技巧:函数添加文档注释,标记参数和返回值,以便阅读和调用时查看

         待完成的功能可以使用 #TODU 标注。

主程序:

#! /usr/bin/python3 #导入card_tools模块 import card_tools while True: #显示功能菜单 card_tools.show_menu() #获取用户输入内容 user_input = input("请选择您要进行的操作:") #判断用户输入内容 if user_input in ["1","2","3"]: if user_input == "1": card_tools.new_cards() elif user_input == "2": card_tools.show_all() else: card_tools.search_card() elif user_input == "0": break else: print("您的操作有误0.0,请输入0-3的数字") #

导入的模块:

def show_menu(): """ 显示功能菜单函数 """ print() print("*"*50) print("欢迎来到名片管理系统-.-") print("-"*50) print("\t[1] 新增名片") print("\t[2] 显示全部") print("\t[3] 查询名片") print("\t[0] 退出系统") print("*"*50) def make_tab(): """ 打印表头 """ print("="*50) print("姓名\t\t年龄\t\t电话\t\t邮箱") print("-"*50) # 创建列表用于保存键值对 #不能放到函数里面,不然每次新建名片内容都被覆盖了 card_list = [] def new_cards(): """ 定义一个新建名片的函数,获取到用户输入的内容后,放入一个键值对当中,然后把键值对放入一个列表中 """ # 获取用户输入内容并用键值对保存 name =input("请输入姓名:") age = input("请输入年龄:") tel = input("请输入电话:") email = input("请输入邮箱:") user_dict = {"name":name, "age":age, "tel":tel, "email":email} #把键值对放入列表中 card_list.append(user_dict) def show_all(): """ 定义一个显示全部内容的函数,如果列表有信息就遍历,没信息提示用户输入 """ if len(card_list)!=0: make_tab() # 遍历列表得到用户信息字典 for user_dict in card_list: # 得到用户各项信息的值 (和表头对齐) # for key in ("name","age","tel","email"): # print("%s\t\t" % user_dict[key] ,end="") print("%s\t\t" % user_dict["name"],end="") print("%s\t\t" % user_dict["age"],end="") print("%s\t" % user_dict["tel"],end="") print("%s\t" % user_dict["email"],end="") print() print("="*50) else: print("当前没有任何信息,请添加新增名片") #查询名片 def search_card(): """ 遍历card_list得到用户键值对,再把键值对中的name的值与用户 输入内容作比较,如果匹配到了则返回用户信息,如果没匹配到则 提示用户没搜索到 """ find_name = input("请输入您要查找的姓名:") for key_value in card_list: if key_value["name"] == find_name: make_tab() # for key in ("name","age","tel","email"): # print("%s\t\t" % key_value[key] ,end="") print("%s\t\t" % key_value["name"],end="") print("%s\t\t" % key_value["age"],end="") print("%s\t" % key_value["tel"],end="") print("%s\t" % key_value["email"],end="") print() print("="*50) # 处理名片(修改或者删除) deal_cards(key_value) break else: print("您所查找的名片不存在!") def deal_cards(key_value): """ 找到用户后,对名片进行修改或者删除操作 :key_value: 在查找函数中,查找到的用户信息字典 """ user_input_str = input("请选择您要进行的操作: [1]修改名片 [2]删除名片 [0]返回上一层") if user_input_str == "1": #修改名片 # key_value["name"]= input("姓名:") # key_value["age"]= input("年龄:") # key_value["email"]= input("邮箱:") # key_value["tel"]= input("电话:") key_value["name"] = user_input_info(key_value["name"],input("姓名")) key_value["age"] = user_input_info(key_value["age"],input("年龄")) key_value["tel"] = user_input_info(key_value["tel"],input("电话")) key_value["email"] = user_input_info(key_value["email"],input("邮箱")) print("修改成功!") elif user_input_str == "2": #删除名片 card_list.remove(key_value) print("删除成功!") def user_input_info(dict_value,input_value): """ 判断用户的输入的值,如果不是空则修改原值。否则返回原值 :param dict_value: 字典中原有的值 :param input_value: 用户输入的用于修改的值 :return: 修改后的值 """ if len(input_value) == 0: return dict_value else: return input_value

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/90a45c072c131d67b6b2d9d27e3801e1.html