python实现名片管理器的示例代码


Posted in Python onDecember 17, 2019

编写程序,完成“名片管理器”项目

需要完成的基本功能:

  • 添加名片
  • 删除名片
  • 修改名片
  • 查询名片
  • 退出系统

程序运行后,除非选择退出系统,否则重复执行功能

mingp.py

# 名片类:(参数)
# # 添加名片功能
# # 删除名片功能:
# # 修改名片功能:
# # 查询名片功能:
class MingPian():
  def __init__(self,all_dict,name,age):
    self.all_dict=all_dict
    self.name=name
    self.age=age
 
  def tianjia(self):
    my_dict = {"name": self.name, "age": self.age}
    self.all_dict[self.name]=my_dict
    print("添加名片成功....")
    return self.all_dict
    # print(self.all_dict) #测试添加函数可否正常执行
 
  def shanchu(self):
    if self.name in self.all_dict:
      del self.all_dict[self.name]
      print("删除成功")
    else:
      print("输入名字有误")
    return self.all_dict
 
  def xiugai(self):
    if self.name in self.all_dict:
      self.age = input("请输入修改后的年龄:")
      self.all_dict[self.name]["age"] = self.age
      print("修改成功")
    else:
      print("输入名字有误")
    return self.all_dict
 
  def chaxun(self):
    if self.name in self.all_dict:
      n = self.all_dict[self.name]["name"]
      a = self.all_dict[self.name]["age"]
      print("姓名:%s 年龄:%s" % (n, a))
    else:
      print("输入名字有误")
 
#test
# all_dict = {}
# MingPian(all_dict,'xiaoming','20').tianjia()

base.py

# 选择判断函数:
from mingpian.mingp import MingPian
 
class Base(MingPian):
  def __init__(self,all_dict,name,age,index):
    #为了能使用或扩展父类的行为,最好显示调用父类的__init__方法
    # 子类调用父类的构造函数进行初始化
    # 通过子类把参数传给父类(self不能少,self只有在实例化和实例调用类时才能省略,此处不是)
    #super(Base,self).__init__(all_dict,name,age)
    MingPian.__init__(self,all_dict,name,age)
    self.index=index
 
  #初始化
  def caozuo(self):
    if self.index == "1":
      self.name = input("请输入您的名字:")
      self.age = input("请输入您的年龄:")
      # 子类调用父类方法
      # 子类在调用父类方法必须要传self
      MingPian.tianjia(self)
 
    elif self.index == "2":
      self.name = input("请输入要删除数据的名字:")
      MingPian.shanchu(self)
 
    elif self.index == "3":
      self.name = input("请输入要修改信息人的名字:")
 
      MingPian.xiugai(self)
 
    elif self.index == "4":
      self.name = input("请输入您要查询的名字:")
      MingPian.chaxun(self)
 
    elif self.index == "5":
      print("欢迎下次使用,再见!")
      exit()

main.py

# where True:
# 展示菜单函数
# 选择判断函数()
#  判断选择的操作菜单
from mingpian.base import Base
 
all_dict = {}
info_str = """1.添加名片
2.删除名片
3.修改名片
4.查询名片
5.退出系统
请选择:"""
 
while True:
  index = input(info_str)
  kaishi=Base(all_dict,0,0,index)
  kaishi.caozuo()

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

Python 相关文章推荐
Python发送http请求解析返回json的实例
Mar 26 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
python实现扫雷游戏
Mar 03 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
Python requests库参数提交的注意事项总结
Mar 29 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 #Python
使用Python测试Ping主机IP和某端口是否开放的实例
Dec 17 #Python
基于Django实现日志记录报错信息
Dec 17 #Python
python实现12306登录并保存cookie的方法示例
Dec 17 #Python
Django多进程滚动日志问题解决方案
Dec 17 #Python
python django中8000端口被占用的解决
Dec 17 #Python
python飞机大战pygame游戏之敌机出场实现方法详解
Dec 17 #Python
You might like
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
改变隐藏的input中value的值代码
2013/12/30 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
详解如何较好的使用js
2016/12/16 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
keras K.function获取某层的输出操作
2020/06/29 Python
Python 远程开关机的方法
2020/11/18 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
个人求职信范文分享
2014/01/31 职场文书
房屋转让协议书范本
2014/04/11 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
母亲节寄语大全
2015/02/27 职场文书
工作态度不好检讨书
2015/05/06 职场文书
辞职离别感言
2015/08/04 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang