本文实例为大家分享了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 这些基本知识一定要掌握,有过其他编程语言经验的小伙伴是不是感觉很简单。
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 蔡依林《MYSELF》 奢华庆菌版 2CD[WAV+CUE][1.5G]
- 刘春美《心与心寻世界名曲中文版》新京文[低速原抓WAV+CUE]
- 朱逢博《蔷薇蔷薇处处开》[FLAC+CUE]
- 姚璎格2005《心在哭泣》龙韵[WAV分轨]
- 费玉清《费玉清收藏》 2CD 华纳[WAV+CUE][1G]
- 徐怀钰《LOVE》台湾首版[WAV+CUE][1G]
- 群星《英皇精挑细选Vol.1》[WAV+CUE][1G]
- 郑钧.2007-长安长安【灯火文化】【WAV+CUE】
- 袁小迪向蕙玲.2005-纯情红玫瑰【全员集合】【WAV+CUE】
- 周华健.2015-水浒三部曲原创音乐选辑【滚石】【FLAC分轨】
- 钟志刚《为爱而歌DSD》[WAV+CUE]
- 孙露《情人的眼泪》[低速原抓WAV+CUE]
- 【雨果唱片】刘明源《胡琴专辑》1993[WAV+CUE]
- 黄莺莺《25周年纪念金曲专辑》[WAV+CUE][1.1G]
- 刘德丽《刘德丽新曲+精选》2023[WAV+CUE][1G]