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读取环境变量的方法和自定义类分享
Nov 22 Python
Python的Django框架中的URL配置与松耦合
Jul 15 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
Python程序退出方式小结
Dec 09 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
python随机取list中的元素方法
Apr 08 Python
Pandas之ReIndex重新索引的实现
Jun 25 Python
详解python实现小波变换的一个简单例子
Jul 18 Python
Tensorflow累加的实现案例
Feb 05 Python
python实现简单井字棋游戏
Mar 04 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
Django分页器的用法你都了解吗
May 26 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
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
javascript 模拟点击广告
2010/01/02 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
Python中的zipfile模块使用详解
2015/06/25 Python
python统计日志ip访问数的方法
2015/07/06 Python
python冒泡排序简单实现方法
2015/07/09 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
python3实现绘制二维点图
2019/12/04 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
python之生成多层json结构的实现
2020/02/27 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
What is view? why do we have view?
2012/06/22 面试题
Java servlet面试题
2012/03/04 面试题
历史教育专业个人求职信
2013/12/13 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
激情洋溢的毕业生就业求职信
2014/03/15 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
关于python类SortedList详解
2021/09/04 Python
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers