python3实现名片管理系统(控制台版)


Posted in Python onNovember 29, 2020

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

系统主要是:1.新增名片 2.显示全部 3.查询名片 0.退出系统

python3实现名片管理系统(控制台版)

card_main.py

import card_tools
 
while True:
 """
  1.新增名片 2.显示全部 3.查询名片 0.退出系统
 """
 
 card_tools.show_menu() # 显示系统菜单
 action_str = card_tools.input_deal()
 
 if action_str == 1:
  print("您的操作是:%d" % action_str)
  card_tools.new_card()
  print()
 elif action_str == 2:
  print("您的操作是:%d" % action_str)
  card_tools.show_all()
  print()
 elif action_str == 3:
  print("您的操作是:%d" % action_str)
  card_tools.find_card()
  print()
 elif action_str == 0:
  print("退出系统")
  break
 else:
  print("您输入的不正确")

card_tools.py

#! /usr/bin/python3
card_list = []
 
 
def input_deal():
 """
 输入处理
 :return:
 """
 while True:
  try:
   action_str = int(input("请输入你的操作:"))
  except ValueError:
   print("输入不正确,请重新输入!")
  else:
   return action_str
 
 
def show_menu():
 """
 显示名片系统的菜单
 :return:
 """
 
 print("*" * 50)
 print("名片管理系统1.0".center(21, " "))
 print("1.新建名片".center(10, "\t"))
 print("2.显示全部".center(10, "\t"))
 print("3.查询名片".center(10, "\t"))
 print("0.退出系统".center(10, "\t"))
 print("*" * 50)
 
 
def new_card():
 """
 新增名片
 :return:
 """
 
 print("新增名片")
 name = input("请输入您的名字:")
 phone = input("请输入您的手机号码:")
 qq = input("请输入您的QQ号码:")
 email = input("请输入您的邮箱地址:")
 card_dict = {"name": name, "phone": phone, "qq": qq, "email": email}
 # print(card_dict)
 
 card_list.append(card_dict);
 print(card_list)
 
 
def show_all():
 """
 显示所有名片
 :return:
 """
 for name in ["姓名", "电话", "QQ", "邮箱"]:
  print(name, end="\t\t")
 print()
 # print(card_list)
 
 if len(card_list) == 0:
  print("名片为空,请添加。")
 
 for card_dict in card_list:
  print("%s\t\t\t%s\t\t\tt%s\t\t\t%s" % (
   card_dict['name'], card_dict['phone'], card_dict['qq'], card_dict['email']))
 
 
def find_card():
 """
 查询名片
 :return:
 """
 find_name = input("请输入您要查询的姓名:")
 for card_dict in card_list:
  if card_dict['name'] == find_name:
   print("查询成功")
   print(card_dict)
   deal_card(card_dict)
   break
 else:
  print("查询失败")
 
 
def deal_card(card_dict):
 """
 对名片进行修改,查询
 :return:
 """
 
 action_str = input("请输入你要的操作:1.修改 2.删除 0.返回上级菜单")
 
 if action_str == "1":
  print("您的操作是:%s" % action_str)
  name = deal_input(card_dict, input("请输入您的名字:"), "name")
  phone = deal_input(card_dict, input("请输入您的手机号码:"), "phone")
  qq = deal_input(card_dict, input("请输入您的QQ号码:"), "qq")
  email = deal_input(card_dict, input("请输入您的邮箱地址:"), "email")
  card_dict['name'] = name
  card_dict['phone'] = phone
  card_dict['qq'] = qq
  card_dict['email'] = email
 
 elif action_str == "2":
  print("您的操作是:%s" % action_str)
  card_list.remove(card_dict)
  print("删除成功")
 else:
  print("返回上级菜单")
 
 
def deal_input(card_dict, str1, str2):
 """
 处理要修改的输入值
 :param card_dict:
 :param str1:
 :param str2:
 :return:
 """
 if len(str1) == 0:
  return card_dict[str2]
 else:
  return str1

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

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

Python 相关文章推荐
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
Python自定义主从分布式架构实例分析
Sep 19 Python
python RabbitMQ 使用详细介绍(小结)
Nov 08 Python
python django框架中使用FastDFS分布式文件系统的安装方法
Jun 10 Python
python利用dlib获取人脸的68个landmark
Nov 27 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
pandas的相关系数与协方差实例
Dec 27 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
Java多线程实现四种方式原理详解
Jun 02 Python
Python高阶函数与装饰器函数的深入讲解
Nov 10 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 Python
python3实现简单飞机大战
Nov 29 #Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 #Python
python3实现飞机大战
Nov 29 #Python
python之pygame模块实现飞机大战完整代码
Nov 29 #Python
Python使用Pygame绘制时钟
Nov 29 #Python
详解pandas赋值失败问题解决
Nov 29 #Python
python 获取剪切板内容的两种方法
Nov 28 #Python
You might like
php查找任何页面上的所有链接的方法
2013/12/03 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
Python实现去除代码前行号的方法
2015/03/10 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python装饰器用法实例总结
2018/05/26 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
python正则-re的用法详解
2019/07/28 Python
python tornado修改log输出方式
2019/11/18 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
python 爬取小说并下载的示例
2020/12/07 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
公司培训欢迎词
2014/01/10 职场文书
租房合同协议书
2014/04/09 职场文书
文明工地标语
2014/06/16 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
异地恋情人节寄语
2015/02/28 职场文书
新闻稿标题
2015/07/18 职场文书
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫