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中的zip函数使用示例
Jan 29 Python
python使用webbrowser浏览指定url的方法
Apr 04 Python
解析Python中的异常处理
Apr 28 Python
Python基础知识_浅谈用户交互
May 31 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
python爬虫之urllib3的使用示例
Jul 09 Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
基于python生成英文版词云图代码实例
May 16 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
教你使用pyinstaller打包Python教程
May 27 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
Vue2 模板template的四种写法总结
2018/02/23 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
python批量制作雷达图的实现方法
2016/07/26 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
python同步两个文件夹下的内容
2019/08/29 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
2014年国培研修感言
2014/03/09 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
暑假家长评语大全
2014/04/17 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
公民代理授权委托书
2014/09/24 职场文书
小学见习报告
2014/10/31 职场文书
员工工作能力评语
2014/12/31 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL