【Python】用Python制作一个名片管理系统
把这两个文件放在同一个目录下运行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制作一个名片管理系统相关推荐
- python 操作mysql制作一个超市管理系统
导言: 该项目制作了两个端口,管理员端和顾客用户端,管理员端实现了对数据库中的数据表进行访问和增删改查操作,数据可长期保存,并展示出来,方便超市管理员对超市商品的管理.顾客端实现了对数据库进行访问,并 ...
- 名片管理系统python详解_详解Python做一个名片管理系统
详解Python做一个名片管理系统 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: 详解Python做一个名片管理系统.txt ] (友情提示:右键点上行txt文 ...
- python编写一个名片_详解Python做一个名片管理系统
名片管理系统有两个模块组成:cards_main.py和 cards_tools.py一个是主程序,另一个是封装增删改查函数的被调用程序 代码如下 cards_main.py #! /usr/bin/ ...
- 基于python编写一个名片管理系统
我们小做一个名片管理系统,首先要确定系统的框架,要实现增删改查的功能,可以定义 1:增加 2:查看 3:查询(并修改)4:退出系统,我们确定了这几项功能,然后我们就可以编写主程序了. 功能列表 1 新 ...
- 今日python笔记---一个名片管理系统
忙活半天学了一个名片管理系统,哈哈哈,一开始自己敲了一遍,但是变量名啥的定义的都太土了,后续变量名还是尽量以英文单词为主吧,自己敲的第一遍,功能和效果确实烂,昨天还觉得自己入门了,今天就感觉自己刚刚跟 ...
- Python答优大作业[名片管理系统(完整代码)]
文章目录 前言 一.要求描述 二.函数功能及代码描述 三.主函数 四.完整代码 总结 前言 这几天在学javaweb没有什么好的案例,这是我一年前python大作业写的答优代码,勉强拿了90分,答辩和 ...
- Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI
现在NBA联赛也进行到半决赛了,我们怎么样才能以更快的方法获取NBA的数据呢?这里我们就自己来做一个数据播报的程序 文章目录 制作NBA数据爬虫 捋顺思路 编写代码 NBAReporter.py NB ...
- python turtle 画老鼠,python用turtle制作一个猫捉老鼠游戏
CSDN网友写的猫捉老鼠游戏代码 看着不错 大家借鉴一下 import turtle import time import random def up(): jerry.setheading(90) ...
- 使用python写一个名片管理系统
系统需求 * 1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 * 2. 用户用数字选择不同的功能 * 3. 根据功能选择,执行不同的功能 * 4. 用户名片需要记录用户的 **姓名**.** ...
最新文章
- 【算法专题】积性函数
- Python配置OpenCV时报错:ImportError DLL load failed: %1 不是有效的 Win32 应用程序
- Spring Boot 项目 RedisTemplate 实现轻量级消息队列
- How to get list of all public urls which are using BSP UI technology
- java swing画三角形_如何使用Java Swing编写肮脏的渐变绘制边框
- Android BroadcastReceiver(二)
- Tomcat 7 的domain域名配置,Tomcat 修改JSESSIONID
- 灰狼优化算法与影响力最大化问题
- 基于Java毕业设计智慧后勤系统源码+系统+mysql+lw文档+部署软件
- JAVA视频学习笔记-马士兵(一)
- 记录几个视频处理软件
- 【转】关于PCI和PCIE
- PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法
- MySQL-14使用子查询-必知必会
- 世界顶级企业的数据中台实践剖析
- 海岸TDM系统配置工具-流程
- http://ai.taobao.com/?pid=mm_40428920_1105750338_109783200329
- 认识一下阿里的AI殿堂-达摩院
- 优秀个人博客网站应该长什么样子?
- 软件测试之构建测试---BVT
热门文章
- IDE中使用package打包出现java.lang.TypeNotPresentException: Type org.springframework.boot.maven.RepackageMoj
- 【正点原子FPGA连载】第十六章Petalinux设计流程实战摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南
- matlab归一化和标准化
- 使用rust和actix实现一个视频流服务器
- Anbox之构建android.img(三)
- python英文版怎么改成中文版_Python中文(非英文字符)解决方法
- 神雕侠侣服务器维修时间,《神雕侠侣2》手游新服开服时间表 7月30日新服
- 数据说话---如何写好年终总结
- 出现413 Request Entity Too Large问题的解决方法
- Got permission denied while trying to connect to the Docker报错排障