python名片管理系统开发
时间:2022-07-27
本文章向大家介绍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()
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助。
- WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效
- 微信发布了小游戏,这一次腾讯 vs 世界
- .Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决
- 第2章 对象激活上下文-对象激活
- .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
- .Net 转战 Android 4.4 日常笔记(3)--目录结构分析
- .Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序
- 读书笔记(二)对象激活和上下文
- 程序员的噩梦有哪些?除了改需求,还有这些…
- UC Berkeley提出新型分布式执行框架Ray:有望取代Spark
- 卡奇话爬虫使用方法以及下载地址
- flash读取XML 背景自动适应大小
- 记录一个发邮件的cs文件
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ggplot2|从0开始绘制直方图
- ggplot2|从0开始绘制PCA图
- Python字典
- 如何用R语言绘制生成正态分布图表
- ggplot2-plotly|让你的火山图“活”过来
- 小数据| 描述性统计(Python/R 实现)
- ggplot2|发散性“正负”图
- R语言蒙特卡洛计算和快速傅立叶变换计算矩生成函数
- pheatmap|暴雨暂歇,“热图”来袭!!!
- 统一服务消息接口报48001错误
- ggplot2|ggpubr进行“paper”组图合并
- PostgreSQL drop table 空间不释放的问题解决
- R语言预测人口死亡率:用李·卡特模型、非线性模型进行平滑估计
- Dockerfile 指令
- Docker 构建容器Tomcat+Nginx+MySQL