把这两个文件放在同一个目录下运行cards_main.py即可。

cards_main.py

import cards_tools
while True:#显示功能菜单cards_tools.show_menu()action_str = input("请选择希望执行的操作:")print("您选择的操作是【%s】" % action_str)#1,2,3 针对名片的操作if action_str in ["1","2","3"]:#新增名片if action_str == "1":cards_tools.new_card()#显示全部if action_str == "2":cards_tools.show_all()#查询名片if action_str == "3":cards_tools.search_card()#0 退出系统elif action_str == "0":print("欢迎再次使用!")break#其他内容提示用户输入错误else:print("您输入的不正确,请重新输入")

cards_tools.py

#记录所有名片字典
card_list = []def show_menu():"""显示菜单"""print("*" * 50)print("欢迎使用名片管理系统 V1.0")print("")print("1.新增名片")print("2.显示全部")print("3.搜索名片")print("")print("0.退出系统")print("*" * 50)print("")def new_card():print("-" * 50)print("新增名片")#提示用户输入名片的详细信息name_str  = input("请输入姓名:")phone_str = input("请输入电话:")qq_str = input("请输入QQ:")email_str = input("请输入邮箱:")#使用用户输入的信息建立一个名片字典card_dict = {"name":name_str,"phone":phone_str,"qq":qq_str,"email":email_str}#将名片字典添加到列表中card_list.append(card_dict)print (card_list)#提示用户添加成功print("添加 %s 的名片成功" % name_str)
def show_all():print("-" * 50)#判断是否存在名片记录,若没有,提示用户并返回if len(card_list) == 0:print("当前没有任何名片记录,请使用新增名片功能。")#return可以返回一个函数的执行结果#下方的代码不会被执行returnprint("显示所有名片")#打印表头for name in ["姓名", "电话", "QQ", "邮箱"]:print(name, end="\t\t")print("")#打印分割线print("=" * 50)#便利名片列表依次输出字典信息for card_dict in card_list:print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],card_dict["phone"],card_dict["qq"],card_dict["email"]))def search_card():print("-" * 50)print("查询名片")#1.提示用户输入要搜索的姓名find_name = input("请输入要搜索的姓名:")#2.遍历名片列表,查询要搜索的姓名,如果没找到,提示用户。for card_dict in card_list:if card_dict["name"] == find_name:print("姓名\t\t电话\t\tQQ\t\t邮箱")print("="*50)print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],card_dict["phone"],card_dict["qq"],card_dict["email"]))deal_card(card_dict)breakelse:print("抱歉,未找到%s" % find_name)def deal_card(find_dict):print(find_dict)action_str = input("请选择要执行的操作 1.修改 2.删除 0.返回上级菜单")if action_str == "1":find_dict["name"] = input_card_info(find_dict["name"],"姓名:")find_dict["phone"] = input_card_info(find_dict["name"],"电话:")find_dict["QQ"] = input_card_info(find_dict["name"],"QQ:")find_dict["email"] = input_card_info(find_dict["name"],"email:")print("修改名片成功")if action_str == "2":card_list.remove(find_dict)print("删除名片成功")def input_card_info(dict_value,tip_message):#1.提示用户输入内容result_str = input(tip_message)#2.针对用户输入内容进行判断,若用户输入了内容,直接返回结果if len(result_str)>0:return result_str#3.若用户未输入内容,返回“字典中原有的值”else:return dict_value

【Python】用Python制作一个名片管理系统相关推荐

  1. python 操作mysql制作一个超市管理系统

    导言: 该项目制作了两个端口,管理员端和顾客用户端,管理员端实现了对数据库中的数据表进行访问和增删改查操作,数据可长期保存,并展示出来,方便超市管理员对超市商品的管理.顾客端实现了对数据库进行访问,并 ...

  2. 名片管理系统python详解_详解Python做一个名片管理系统

    详解Python做一个名片管理系统 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python做一个名片管理系统.txt ] (友情提示:右键点上行txt文 ...

  3. python编写一个名片_详解Python做一个名片管理系统

    名片管理系统有两个模块组成:cards_main.py和 cards_tools.py一个是主程序,另一个是封装增删改查函数的被调用程序 代码如下 cards_main.py #! /usr/bin/ ...

  4. 基于python编写一个名片管理系统

    我们小做一个名片管理系统,首先要确定系统的框架,要实现增删改查的功能,可以定义 1:增加 2:查看 3:查询(并修改)4:退出系统,我们确定了这几项功能,然后我们就可以编写主程序了. 功能列表 1 新 ...

  5. 今日python笔记---一个名片管理系统

    忙活半天学了一个名片管理系统,哈哈哈,一开始自己敲了一遍,但是变量名啥的定义的都太土了,后续变量名还是尽量以英文单词为主吧,自己敲的第一遍,功能和效果确实烂,昨天还觉得自己入门了,今天就感觉自己刚刚跟 ...

  6. Python答优大作业[名片管理系统(完整代码)]

    文章目录 前言 一.要求描述 二.函数功能及代码描述 三.主函数 四.完整代码 总结 前言 这几天在学javaweb没有什么好的案例,这是我一年前python大作业写的答优代码,勉强拿了90分,答辩和 ...

  7. Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI

    现在NBA联赛也进行到半决赛了,我们怎么样才能以更快的方法获取NBA的数据呢?这里我们就自己来做一个数据播报的程序 文章目录 制作NBA数据爬虫 捋顺思路 编写代码 NBAReporter.py NB ...

  8. python turtle 画老鼠,python用turtle制作一个猫捉老鼠游戏

    CSDN网友写的猫捉老鼠游戏代码 看着不错 大家借鉴一下 import turtle import time import random def up(): jerry.setheading(90) ...

  9. 使用python写一个名片管理系统

    系统需求 * 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 * 2. 用户用数字选择不同的功能 * 3. 根据功能选择,执行不同的功能 * 4. 用户名片需要记录用户的 **姓名**.** ...

最新文章

  1. 【算法专题】积性函数
  2. Python配置OpenCV时报错:ImportError DLL load failed: %1 不是有效的 Win32 应用程序
  3. Spring Boot 项目 RedisTemplate 实现轻量级消息队列
  4. How to get list of all public urls which are using BSP UI technology
  5. java swing画三角形_如何使用Java Swing编写肮脏的渐变绘制边框
  6. Android BroadcastReceiver(二)
  7. Tomcat 7 的domain域名配置,Tomcat 修改JSESSIONID
  8. 灰狼优化算法与影响力最大化问题
  9. 基于Java毕业设计智慧后勤系统源码+系统+mysql+lw文档+部署软件
  10. JAVA视频学习笔记-马士兵(一)
  11. 记录几个视频处理软件
  12. 【转】关于PCI和PCIE
  13. PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法
  14. MySQL-14使用子查询-必知必会
  15. 世界顶级企业的数据中台实践剖析
  16. 海岸TDM系统配置工具-流程
  17. http://ai.taobao.com/?pid=mm_40428920_1105750338_109783200329
  18. 认识一下阿里的AI殿堂-达摩院
  19. 优秀个人博客网站应该长什么样子?
  20. 软件测试之构建测试---BVT

热门文章

  1. IDE中使用package打包出现java.lang.TypeNotPresentException: Type org.springframework.boot.maven.RepackageMoj
  2. 【正点原子FPGA连载】第十六章Petalinux设计流程实战摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南
  3. matlab归一化和标准化
  4. 使用rust和actix实现一个视频流服务器
  5. Anbox之构建android.img(三)
  6. python英文版怎么改成中文版_Python中文(非英文字符)解决方法
  7. 神雕侠侣服务器维修时间,《神雕侠侣2》手游新服开服时间表 7月30日新服
  8. 数据说话---如何写好年终总结
  9. 出现413 Request Entity Too Large问题的解决方法
  10. Got permission denied while trying to connect to the Docker报错排障