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

yipeiwu_com6年前Python基础

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

需要完成的基本功能:

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

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

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设计】。

相关文章

解决Mac下使用python的坑

操作系统:macOS High Sierra 10.13.3 Python3.6 因为此版本自带python2.7,就下载并安装了anaconda2的版本,结果使用的时候系统自带的pyt...

浅谈python中set使用

浅谈python中set使用 In [2]: a = set() # 常用操作1 In [3]: a Out[3]: set() In [4]: type(a) O...

Python利用WMI实现ping命令的例子

WMI是Windows系统的一大利器,Python的win32api库提供了对WMI的支持,安装win32api即可使用 WMI。 本例通过WMI的WQL实现ping命令。 impo...

python列表每个元素同增同减和列表元素去空格的实例

python列表每个元素同增同减和列表元素去空格的实例

如下所示: import os var = [1, 2, 3] data = [x*2 for x in var] print (data) two = [[i, i**2] f...

浅谈python已知元素,获取元素索引(numpy,pandas)

目前搜索到的方法有: np.where(‘元素') 还有就是pandas的方法: df.index(‘元素') 但是第二个方法的问题就是会报错,嗯,这就比较尴尬了,查询了网上的解决方案,...