python实现名片管理系统

作者:Laymond_ 时间:2021-04-02 22:21:40 

本文实例为大家分享了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实现名片管理系统

练习总结

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

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

来源:https://blog.csdn.net/qq_29542611/article/details/79052860

标签:python,名片管理系统
0
投稿

猜你喜欢

  • Python Asyncio模块实现的生产消费者模型的方法

    2022-02-10 16:13:49
  • asp封装dll源码分享

    2008-09-25 17:20:00
  • 基于PyQt4和PySide实现输入对话框效果

    2023-06-11 13:30:58
  • Python命令行click参数用法解析

    2023-07-30 14:01:20
  • sql条件查询语句的简单实例

    2024-01-28 02:17:36
  • Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)

    2023-07-25 08:46:01
  • pytorch tensor int型除法出现的问题

    2021-05-18 13:18:17
  • 使用JS的DOM文档对象模型获取前端循环的参数

    2024-04-10 13:54:46
  • 详解vue服务端渲染(SSR)初探

    2024-05-11 09:16:13
  • Python使用Selenium爬取淘宝异步加载的数据方法

    2021-05-17 05:31:57
  • PHP 巧用数组降低程序的时间复杂度

    2023-11-15 09:40:02
  • 一波神奇的Python语句、函数与方法的使用技巧总结

    2023-05-12 19:48:41
  • python opencv通过4坐标剪裁图片

    2022-06-03 20:14:03
  • asp连接mssql2005的代码

    2011-03-29 11:11:00
  • SQL Server 2005 输入框不能输入中文问题

    2010-02-04 09:14:00
  • Python中识别图片/滑块验证码准确率极高的ddddocr库详解

    2021-10-05 05:20:17
  • Django模板语言 Tags使用详解

    2022-09-27 23:37:35
  • 详解Python如何求不同分辨率图像的峰值信噪比

    2023-03-25 09:51:58
  • 详解MySQL数据库千万级数据查询和存储

    2024-01-16 18:53:20
  • MySql 8.0.16版本安装提示已经不使用“UTF8B3”而是使用“UTF8B4”问题

    2024-01-23 12:43:57
  • asp之家 网络编程 m.aspxhome.com