python面向对象实现名片管理系统文件版


Posted in Python onApril 26, 2019

本文实例为大家分享了python实现名片管理系统源代码,供大家参考,具体内容如下

import os
def print_menu():
 print("*"*50)
 print("  名片管理系统")
 print("  1.添加一个新名片")
 print("  2.删除一个名片信息")
 print("  3.修改一个名片信息")
 print("  4.查找一个名片信息")
 print("  5.显示添加过的名片信息")
 print("  6.保存添加的名片信息")
 print("  7.退出系统")
 print("*"*50)
card_infor = []
def add_new_card_infor():
 new_name = input("请输入要添加的名字:")
 new_qq = input("请输入Qq:")
 new_weixin = input("请输入微信号:")
 new_position = input("请输入工作职位")
 new_addr = input("请输入工作地址")
 """创建一个字典来存放添加的内容"""
 new_infor = {}
 new_infor['name'] = new_name
 new_infor['qq'] = new_qq
 new_infor['weixin'] = new_weixin
 new_infor['position'] = new_position
 new_infor['addr'] = new_addr
 """将字典刚入一个列表中"""
 global card_infor
 card_infor.append(new_infor)
def del_card_infor():
 del_name =input("请输入要删除的名片")

 global card_infor
 for temp in card_infor:
  if del_name == temp['name']:
   print("删除的名片如下")
   card_infor.remove(temp)
   print("%s\t\t%s\t\t%s\t\t%s\t\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['position'],temp['addr']))
  else:
   print("不存在")
   return del_card_infor()
def change_care_infor():
 change_name_card = input("请输入需要修改的名片名字")
 global card_infor
 for temp in card_infor:
  if change_name_card == temp['name']:
   new_name = input("请输入要修改的名字")
   new_qq = input("请输入要修改的qq")
   new_weixin = input("请输入要修改的微信")
   new_position = input("请输入要修改的职业")
   new_addr = input("请输入要修改的地址")
   temp['name'] = new_name
   temp['qq'] = new_qq
   temp['weixin'] = new_weixin
   temp['position'] = new_position
   temp['addr'] = new_addr
   print("修改成功")
   break
  else:
   print("您要修改的名片不存在")

def find_card_infor():
 global card_infor
 find_name = input("请输入要在查找的内容\n")
 find = 0
 for temp in card_infor:
  if find_name == temp['name']:
   print("查询成功\n")
   print("%s\t\t%s\t\t%s\t\t%s\t\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['position'],temp['addr']))
   find = 1
   break
  else:
   print("您要查询的名片不存在,请重新输入")
   return find_card_infor()
def display_card_infor():
 global card_infor
 print("姓名\t\tQQ\t\t微信\t\t工作\t\t住址")
 for temp in card_infor:
  print("%s\t\t%s\t\t%s\t\t%s\t\t%s"%(temp['name'],temp['qq'],temp['weixin'],temp['position'],temp['addr']))
def save_card_infor():
 global card_infor
 f = open("save_card.data","w")
 f.write(str(card_infor))
 f.close()
def load_card_infor():
 """恢复保存的信息"""
 global card_infor
 try:
  f = open('save_card.data')
  card_infor = eval(f.read())
  f.close()
 except Exception:
  pass
def main():
 load_card_infor()
 """把恢复保存的信息加载到程序中"""
 print_menu()
 """加载首页操作页面"""
 while True:
  num = int(input("请输入你要选择的功能序号"))
  if(num==1):
   add_new_card_infor()
  elif(num==2):
   del_card_infor()
  elif(num==3):
   change_care_infor()
  elif(num==4):
   find_card_infor()
  elif(num==5):
   display_card_infor()
  elif(num==6):
   save_card_infor()
  elif(num==7):
   break
  else:
   print("输入有误,请重新输入")
  print()
if __name__ == "__main__":
 main()

运行界面

python面向对象实现名片管理系统文件版

python面向对象实现名片管理系统文件版

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

Python 相关文章推荐
Python性能提升之延迟初始化
Dec 04 Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 Python
Python闭包之返回函数的函数用法示例
Jan 27 Python
python写一个md5解密器示例
Feb 23 Python
Python小游戏之300行代码实现俄罗斯方块
Jan 04 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
Aug 20 Python
python调用接口的4种方式代码实例
Nov 19 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
Feb 11 Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 Python
Python 调用C++封装的进一步探索交流
Mar 04 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 Python
python简单验证码识别的实现过程
Jun 20 Python
Python判断对象是否为文件对象(file object)的三种方法示例
Apr 26 #Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 #Python
浅谈python新式类和旧式类区别
Apr 26 #Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 #Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 #Python
详解Python爬取并下载《电影天堂》3千多部电影
Apr 26 #Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 #Python
You might like
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
PHP开发入门教程之面向对象
2006/12/05 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
php使用GeoIP库实例
2014/06/27 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
Python专用方法与迭代机制实例分析
2014/09/15 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
Python3离线安装Requests模块问题
2019/10/13 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
党校学习自我鉴定
2014/02/24 职场文书
党支部四风整改方案
2014/10/25 职场文书
升职自我推荐信范文
2015/03/25 职场文书
微观世界观后感
2015/06/10 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
思品教学工作总结
2015/08/10 职场文书
浅析python中特殊文件和特殊函数
2022/02/24 Python
PyTorch中的torch.cat简单介绍
2022/03/17 Python