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 相关文章推荐
requests和lxml实现爬虫的方法
Jun 11 Python
基于Python闭包及其作用域详解
Aug 28 Python
浅谈python可视化包Bokeh
Feb 07 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
Linux下python3.6.1环境配置教程
Sep 26 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
Python中pymysql 模块的使用详解
Aug 12 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
python如何停止递归
Sep 09 Python
Django celery异步任务实现代码示例
Nov 26 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中关于普通表单多文件上传的处理方法
2011/03/25 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
Python实现Linux的find命令实例分享
2017/06/04 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
浅谈Python中的字符串
2020/06/10 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
JMS中Topic和Queue有什么区别
2013/05/15 面试题
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
安全生产责任书范本
2014/04/15 职场文书
消防宣传口号
2014/06/16 职场文书
教师节感谢信
2015/01/22 职场文书
三十年同学聚会感言
2015/07/30 职场文书
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js
Golang实现可重入锁的示例代码
2022/05/25 Golang