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运算π的值深入Python中科学计算的实现
Apr 17 Python
使用Python脚本将文字转换为图片的实例分享
Aug 29 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
Jan 20 Python
python制作websocket服务器实例分享
Nov 20 Python
AI人工智能 Python实现人机对话
Nov 13 Python
基于DATAFRAME中元素的读取与修改方法
Jun 08 Python
在PyCharm下打包*.py程序成.exe的方法
Nov 29 Python
简单了解python的一些位运算技巧
Jul 13 Python
django自带serializers序列化返回指定字段的方法
Aug 21 Python
pytorch中的transforms模块实例详解
Dec 31 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
Feb 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 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php数组去重的函数代码
2013/02/03 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
小型js框架veryide.librar源代码
2009/03/05 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
前端 javascript 实现文件下载的示例
2020/11/24 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
python 运算符 供重载参考
2009/06/11 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
简单了解Python write writelines区别
2020/02/27 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
python实现三种随机请求头方式
2021/01/05 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
农药学硕士毕业生自荐信
2013/09/25 职场文书
新闻编辑自荐书范文
2014/02/12 职场文书
音乐教育感言
2014/03/05 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
网络信息安全承诺书
2014/03/26 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
大学生工作求职信
2014/06/23 职场文书