python名片管理系统开发
作者:程序员不掉发 发布时间:2022-06-25 13:43:47
标签:python,名片,管理系统
本文实例为大家分享了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()
更多学习资料请关注专题《管理系统开发》。
来源:https://blog.csdn.net/weixin_42472371/article/details/103868785
0
投稿
猜你喜欢
- 对于 link 元素 和 style 元素 我相信大家都比较了解,但对于他们的出现位置可能有误解。在 淘宝 的所有频道中出现这样一个问题:频
- MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(
- 简介看到了一个能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息的模块–psutil模块。这次利用psutil
- 本文实例为大家分享了python sklearn分类算法模型调用的具体代码,供大家参考,具体内容如下实现对'NB',&nbs
- 本文实例讲述了PHPExcel冻结(锁定)表头的简单实现方法。分享给大家供大家参考,具体如下:PHPExcel是一款功能比较强大的操作微软e
- if exists (select * from dbo.sysobjects where id = object_id(N'[db
- 安装SDK:pip install baidu-aip如果在pycharm里也可以在setting----Project Interpret
- 前言在部署一些定时运行或者长期运行的任务时,为了留存一些导致程序出现异常或错误的信息,通常会才用日志的方式来进行记录这些信息。python内
- 当我们的文章表中没有对于文章的评论数字段时,我们该这么写sql语句来显示出评论最多的文章呢?下面本站给大家收集了几种方法,仅供参考:1.se
- 引言:在阅读源码时,有很多简写的形式,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasat
- [编者注:]提起数据库,第一个想到的公司,一般都会是Oracle(即甲骨文公司)。Oracle在数据库领域一直处于领先地位。Oracle关系
- 前言XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的
- 提到分发请求,相信大多数人首先会想到Nginx,Nginx作为一种多功能服务器,不仅提供了反向代理隐藏主机ip的能力,还拥有简单的缓存加速功
- 前言之前的文章编写了一个返回json的例子,直接用浏览器进行get请求虽然成功了, 但是接口文档的样式很难看, 不好用. 而且提示没有访问权
- 为什么是三谈为什么是三谈呢?一是因为这真的是一个被说烂的话题,二是因为太师傅在n年前就写过这篇再谈iframe自适应高度。之所以再提该问题,
- 这篇文章主要介绍了Python tkinter常用操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 我们以用户查询语句为 https://www.aspxhome.com/chunfeng.asp为例来查询用户资料将从数据库Contact1
- 方法一 :这个是我在站长工具的查询页面使用的防止频繁查询,刷新页面的代码!下面函数的功能是3秒内查询页面即刷新了页面,超过2次就提示!sea
- image.jsp------------------------------生成随机验证码图片的Jsp页面 代码如下: <
- 前言今天我们一起来聊聊DataFrame中的索引。上一篇文章当中我们介绍了DataFrame数据结构当中一些常用的索引的使用方法,比如ilo