本文实例为大家分享了python名片管理系统的开发代码,供大家参考,具体内容如下
利用面向对象的开发方法,开发名片管理系统,要求用文件存储数据
#定义名片类
class Card(object):
def __init__(self,name,phone,QQ,Email):
self.name=name
self.phone=phone
self.QQ=QQ
self.Email=Email
def __str__(self):
return f"{self.name},{self.phone},{self.QQ},{self.Email}"
#定义名片管理类
class Card_mannager(object):
def __init__(self):
self.card_list=[]
#新建名片
def new_card(self):
name=input("请输入姓名:")
phone=input("请输入电话:")
QQ=input("请输入QQ:")
Email=input("请输入Email:")
card=Card(name,phone,QQ,Email)
self.card_list.append(card)
#显示名片
def show_card(self):
if len(self.card_list)>0:
print("所以名片信息如下:")
print("")
for i in self.card_list:
print("姓名:"+i.name,"电话:"+i.phone,"QQ:"+i.QQ,"Email:"+i.Email)
else:
print("没有该联系人信息!")
#查找名片
def search_card(self):
name=input("请输入你要查找的姓名:")
for i in self.card_list:
if i.name==name:
print("查找成功!")
print("姓名:"+i.name,"电话:"+i.phone,"QQ:"+i.QQ,"Email:"+i.Email)
print(" ")
print("-"*80)
print("1:删除")
print("2:修改")
print("0:返回上一级菜单")
action=int(input("请选择操作功能:"))
while True:
if action == 1:
self.card_list.remove(i)
self.save_card()
print("删除成功!")
break
elif action==2:
i.name=input("请输入姓名:")
i.phone=input("请输入电话:")
i.QQ=input("请输入QQ:")
i.Email=input("请输入Email:")
self.save_card()
print("修改成功!")
break
elif action==0:
break
else:
print("输入有误,请重新输入!")
break
break
else:
print("没有该联系人信息!")
#保存名片
def save_card(self):
flie = open("data.data","w")
cardlist=[i.__dict__ for i in self.card_list]
flie.write(str(cardlist))
flie.close()
#加载名片
def load_card(self):
try:
flie = open("data.data","r")
except:
flie = open("data.data","w")
else:
data=eval(flie.read())
if len(data)>0:
for i in data:
card=Card(i["name"],i["phone"],i["QQ"],i["Email"])
self.card_list.append(card)
finally:
flie.close()
#菜单
@staticmethod
def show_menu():
print("*"*80)
print("欢迎使用【名片管理系统】V2.0")
print()
print("1.新建名片")
print("2.显示全部名片")
print("3.查询名片")
print()
print("0.退出系统")
print("*"*80)
def run(self):
self.load_card()
while True:
self.show_menu()
action=int(input("请选择操作功能:"))
print("您的选择是:{0}".format(action))
if action==1:
self.new_card()
self.save_card()
print("添加成功!")
elif action==2:
self.show_card()
elif action==3:
self.search_card()
elif action==0:
print("欢迎再次使用!")
break
else:
print("输入有误,请重新输入!")
if __name__=="__main__":
A=Card_mannager()
A.run()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。
Powered By python教程网 鲁ICP备18013710号
python博客 - 小白学python最友好的网站!