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脚本操作MongoDB的教程
Apr 16 Python
Python中encode()方法的使用简介
May 18 Python
详解Python中的type()方法的使用
May 21 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
Aug 28 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
理论讲解python多进程并发编程
Feb 09 Python
Python实现字符串的逆序 C++字符串逆序算法
May 28 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 Python
Python 操作 ElasticSearch的完整代码
Aug 04 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 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
PL-880隐藏功能
2021/03/01 无线电
PHP安全配置
2006/10/09 PHP
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
PHP中for循环语句的几种变型
2007/03/16 PHP
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
js实现右下角提示框的方法
2015/02/03 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
Python的Tornado框架异步编程入门实例
2015/04/24 Python
Python中类的初始化特殊方法
2017/12/01 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
简单说下OSPF的操作过程
2014/08/13 面试题
信息技术教学反思
2014/02/12 职场文书
高中运动会入场词
2014/02/14 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
分公司负责人任命书
2014/06/04 职场文书
教师师德表现自我评价
2015/03/05 职场文书
工作时间证明
2015/06/15 职场文书
埃及王子观后感
2015/06/16 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS