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 爬取微信文章
Jan 30 Python
python实现简单购物商城
May 21 Python
详解Python中最难理解的点-装饰器
Apr 03 Python
详解Golang 与python中的字符串反转
Jul 21 Python
python reduce 函数使用详解
Dec 05 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
Jul 13 Python
numpy和pandas中数组的合并、拉直和重塑实例
Jun 28 Python
Django实现微信小程序的登录验证功能并维护登录态
Jul 04 Python
python基础 range的用法解析
Aug 23 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
May 15 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 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
PHP中常用的输出函数总结
2014/09/22 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
从零学jquery之如何使用回调函数
2014/05/16 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
vue.js select下拉框绑定和取值方法
2018/03/03 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
Python 操作MySQL详解及实例
2017/04/30 Python
python实现多线程端口扫描
2019/08/31 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
python实现自动打卡的示例代码
2020/10/10 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
python自动生成证件号的方法示例
2021/01/14 Python
IE9对HTML5中部分属性不支持的原因分析
2014/10/15 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
贷款承诺书范文
2014/05/19 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
中学生学习保证书
2015/02/26 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
硕士论文致谢范文
2015/05/14 职场文书
入党申请书格式
2019/06/20 职场文书
python批量更改目录名/文件名的方法
2021/04/18 Python
教你怎么用python selenium实现自动化测试
2021/05/27 Python
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android
如何基于python实现单目三维重建详解
2022/06/25 Python