Python实现名片管理系统


Posted in Python onFebruary 14, 2020

本文实例为大家分享了Python实现名片管理系统的具体代码,供大家参考,具体内容如下

目标

综合应用已经学习过的知识点:

  • 变量
  • 流程控制
  • 函数
  • 模块

系统需求

1. 程序启动,显示名片管理系统欢迎界面,并显示功能菜单

Python实现名片管理系统

2 用户用数字选择不同的功能
3. 根据功能选择,执行不同的功能
4. 用户名片需要记录用户的 姓名、电话、QQ、邮件
5. 如果查询到指定的名片,用户可以选择 修改 或者 删除 名片

文件准备

新建 cards_main.py 保存主程序功能代码
新建 cards_tools.py 保存所有名片功能函数

代码

cards_main.py :

# encoding:utf-8
_date_ = "2020/2/8 12:17"

import cards_tools

while True:
 # 显示功能菜单
 cards_tools.caidan()
 xuanze=input("请选择希望操作的功能:")
 print("您选择的操作是【%s】" % xuanze)

 # 如果用户输入的是1,2,3则是针对名片的操作
 if xuanze in ["1","2","3"]:
 # 新增名片处理
 if xuanze=="1":
  cards_tools.zengjia()
 # 显示全部名片
 elif xuanze=="2":
  cards_tools.xianshi()
 # 查询和修改名片操作
 elif xuanze=="3":
  cards_tools.sousuo()

 # 如果用户输入的是0则退出系统
 elif xuanze=="0":
 print("正在退出,期待您再次使用【名片管理系统】!")
 break
 # 如果用户输入别的内容则提示输入有误
 else:
 print("您输入的不正确,请重新选择!!!")

cards_tools.py :

# encoding:utf-8
_date_ = "2020/2/8 12:32"

# 记录所有的名片字典
card_list = []

def caidan():
 """显示菜单"""
 print("*"*39)
 print("欢迎使用【名片管理系统】v1.0")
 print("")
 print("1.新增名片")
 print("2.显示全部")
 print("3.查询名片")
 print("")
 print("0.退出系统")
 print("*" * 39)

def zengjia():
 """新增名片"""
 print("-" * 39)
 print("新增名片")

 # 1.提示用户输入名片的详细信息
 name = input("请输入姓名:")
 phone = input("请输入电话号码:")
 qq = input("请输入QQ号码:")
 email = input("请输入邮箱地址:")
 # 2.使用用户输入的信息建立一个名片字典
 card_dict = {"姓名":name,
   "电话":phone,
   "QQ":qq,
   "邮箱":email
   }
 # 3.将名片字典添加到列表
 card_list.append(card_dict)

 # print(card_list)
 # 4.提示用户添加成功
 print("添加%s的名片成功!" % name)

def xianshi():
 """显示所有名片"""
 print("-" * 39)
 print("显示所有名片")

 if len(card_list)==0:
 print("当前没有任何名片记录,请使用新增名片功能添加新名片!")
 # return可以返回一个函数的执行结果
 # 下方的代码不会被执行
 # 如果return后面没有任何的内容,表示会返回到调用函数的位置
 # 并且不返回任何的结果
 return
 # 打印表头
 for biaotou in["姓名","电话","QQ","邮箱"]:
 print(biaotou,end="\t\t")
 print("")

 # 打印分割线
 print("=" * 39)
 # 遍历名片列表依次输出字典信息
 for i in card_list:
 print("%s\t\t%s\t\t%s\t\t%s"%(i["姓名"],
     i["电话"],
     i["QQ"],
     i["邮箱"]))

def sousuo():
 """搜索名片"""
 print("-" * 39)
 print("搜索名片")

 # 1.提示用户输入要搜索的姓名
 find_name=input("请输入要搜索的姓名:")

 # 2.遍历名片列表,查询要搜索的姓名,如果没有找到,需要提示用户
 for i in card_list:
 if i["姓名"]==find_name:
  print("姓名\t\t电话\t\tQQ\t\t邮箱")
  print("="*39)
  print("%s\t\t%s\t\t%s\t\t%s" % (i["姓名"],
      i["电话"],
      i["QQ"],
      i["邮箱"]))
  # 针对找到的名片记录执行修改和删除的操作
  deal_card(i)
  break
 else:
 print("抱歉,没有找到%s,请重新输入!"%find_name)

def deal_card(find_dict):
 """
 处理查找到的名片
 :param find_dict:查找到的名片
 """
 # print(find_dict)

 action_str = input("请选择要执行的操作1.修改 2.删除 0.返回上级菜单:")

 if action_str=="1":
 find_dict["姓名"]=input_card_info(find_dict["姓名"],"请输入要修改的姓名:")
 find_dict["电话"] = input_card_info(find_dict["电话"],"请输入要修改的电话:")
 find_dict["QQ"] = input_card_info(find_dict["QQ"],"请输入要修改的QQ:")
 find_dict["邮箱"] = input_card_info(find_dict["邮箱"],"请输入要修改的邮箱:")
 print("修改名片成功!")
 elif action_str=="2":
 card_list.remove(find_dict)
 print("删除【%s】名片成功!" %find_dict["姓名"])

def input_card_info(dict_value,tip_message ):
 """
 输入名片信息
 :param dict_value:字典中原有值
 :param tip_message: 输入的提示文字
 :return: 如果用户输入了内容,就返回内容,否则返回字典中原有值
 """
 # 1.提示用户输入内容
 result_str = input(tip_message)
 # 2.针对用户输入进行判断,如果用户输入了内容,直接返回结果
 if len(result_str)>0:
 return result_str
 # 3.如果用户没有输入内容,返回“字典中的原有值”
 else:
 return dict_value

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

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

Python 相关文章推荐
python实现根据ip地址反向查找主机名称的方法
Apr 29 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
python字符串的常用操作方法小结
May 21 Python
python中快速进行多个字符替换的方法小结
Dec 15 Python
python基础_文件操作实现全文或单行替换的方法
Sep 04 Python
python用户管理系统的实例讲解
Dec 23 Python
浅析python协程相关概念
Jan 20 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
python实现贪吃蛇游戏
Mar 21 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
python 爬虫如何正确的使用cookie
Oct 27 Python
pycharm设置当前工作目录的操作(working directory)
Feb 14 #Python
python设置代理和添加镜像源的方法
Feb 14 #Python
pycharm 中mark directory as exclude的用法详解
Feb 14 #Python
Python读取分割压缩TXT文本文件实例
Feb 14 #Python
Pytorch .pth权重文件的使用解析
Feb 14 #Python
Python netmiko模块的使用
Feb 14 #Python
pytorch模型存储的2种实现方法
Feb 14 #Python
You might like
德生9700DX电路分析
2021/03/02 无线电
PHP的宝库目录--PEAR
2006/10/09 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
Python中的rjust()方法使用详解
2015/05/19 Python
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python subprocess库的使用详解
2018/10/26 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
中学老师的自我评价
2013/11/07 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
捐助倡议书
2015/01/19 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript
方法汇总:Python 安装第三方库常用
2022/04/26 Python