本文实例为大家分享了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 os
card_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(\"输入有误,请重新输入\")

代码运行结果

\"\"

\"\"

练习总结

这个小练习主要是对python基础知识的综合运用,入手python 这些基本知识一定要掌握,有过其他编程语言经验的小伙伴是不是感觉很简单。

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

收藏 打印