首页 > 编程 > Python > 正文

python实现名片管理系统

2020-02-15 23:50:50
字体:
来源:转载
供稿:网友

本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下

系统需求

程序启动,显示名片管理系统欢迎界面,并显示功能菜单

**************************************************
欢迎使用【名片管理系统】V1.0
 
1. 新建名片
2. 显示全部
3. 查询名片
 
0. 退出系统
**************************************************

用户用数字选择不同的功能 根据功能选择,执行不同的功能 用户名片需要记录用户的 姓名、电话、QQ、邮件 如果查询到指定的名片,用户可以选择 修改 或者 删除 名片 信息保存本地

需求分析

采用分文件的方式进行开发,主文件cards_main.py复杂业务逻辑,cards_tool.py文件负责具体的功能实现。 新建名片、显示全部、查询名片 对应相应的功能函数。如果代码过长,再进行拆分。 数据结构的选择?一条名片包含多个键值对采用字典数据类型,所有名片信息 采用列表数据结构。 保证名片信息的本地保存和读取使用python的文件操作,进入名片系统先对名信息文件进行读取,在退出名片系统时,将所有名片信息重新写入到名片文件中。

代码实现

代码很简洁,注释太多 容易凌乱。

cards_main.py

import cards_tool# 主业务逻辑cards_tool.read_card()  # 1.显示用户主界面while True: cards_tool.show_menu() menu_str = input("请选择执行的操作:") print("您选择的功能:%s" % menu_str) if menu_str == "1":  cards_tool.create_card() elif menu_str == "2":  cards_tool.show_card_all() elif menu_str == "3":  cards_tool.search_card() elif menu_str == "0":  cards_tool.write_card()  break else:  print("输入有误,请重新输入")

cards_tool.py

import oscard_info_all = [] # 所有名片信息# 名片管理 具体功能def write_card(): """退出系统时,将名片信息保存到文件夹中""" f = open("E://workspace_python//FirstDemo//名片管理系统.txt", "w") f.write(str(card_info_all)) f.close()  def read_card(): """进入系统时,将名片信息加载到内存中""" is_exist = os.path.exists("E://workspace_python//FirstDemo//名片管理系统.txt") if is_exist:  # 文件存在将信息加载到内存中  f = open("E://workspace_python//FirstDemo//名片管理系统.txt","r")  global card_info_all  card_info_all = eval(f.read())  # print(card_info_all)  f.close() else:  # 没有文件创建空文件  f = open("E://workspace_python//FirstDemo//名片管理系统.txt", "w")  f.close() print(is_exist)  def show_menu(): """主菜单页面展示""" print("*"*30) print("欢迎使用[命名管理系统] v1.0") print() print("1.新建名片") print("2.显示全部") print("3.查询名片") print() print("0.退出系统") print("*"*30)  def create_card(): """新建名片""" print("功能:新建名片") name = input("请输入姓名:") phone = input("请输入电话:") qq = input("请输入qq号:") email = input("请输入邮箱:") card_info = {"name":name,"phone":phone, "qq":qq, "email":email} card_info_all.append(card_info) print("添加%s的名片成功" % name)  def show_card_all(): """显示所有名片""" print("功能:显示全部") if not len(card_info_all):  print("没有任何名片")  return print("name".ljust(14),"phone".ljust(14),"qq".ljust(14),"email".ljust(14),sep="") print("-"*56) for card in card_info_all:  print(card["name"].ljust(14),card["phone"].ljust(14),card["qq"].ljust(14),card["email"].ljust(14),sep="")  print("-"*56)  def search_card(): """查询名片""" print("功能:查询名片") name = input("请输入查询的姓名:") for card in card_info_all:  if name == card["name"]:   print("name".ljust(14), "phone".ljust(14), "qq".ljust(14), "email".ljust(14), sep="")   print("-" * 56)   print(card["name"].ljust(14), card["phone"].ljust(14), card["qq"].ljust(14), card["email"].ljust(14),sep="")   # 名片高级处理   set_card(card)   break; else:  print("没有找到%s" % name)  def set_card(card): """名片的高级设置""" while True:  menu = input("请输入对名片的操作:1.修改/ 2.删除/ 0.返回上一级")  if menu == "1":   name = input("请输入姓名:")   phone = input("请输入电话:")   qq = input("请输入qq号:")   email = input("请输入邮箱:")   card["name"] = name   card["phone"] = phone   card["qq"] = qq   card["email"] = email   print("%s 的名片修改成功" % name)   return  elif menu == "2":   card_info_all.remove(card)   print("删除名片成功")   return  elif menu == "0":   return  else:   print("输入有误,请重新输入")            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表