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基于DES算法加密解密实例
Jun 03 Python
将Emacs打造成强大的Python代码编辑工具
Nov 20 Python
使用Python编写爬虫的基本模块及框架使用指南
Jan 20 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
Apr 15 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
Python实现的建造者模式示例
Aug 06 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
pygame实现俄罗斯方块游戏(基础篇3)
Oct 29 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
Pytorch转onnx、torchscript方式
May 25 Python
python 实现围棋游戏(纯tkinter gui)
Nov 13 Python
基于python的opencv图像处理实现对斑马线的检测示例
Nov 29 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
ezSQL PHP数据库操作类库
2010/05/16 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
js canvas实现写字动画效果
2018/11/30 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
python操作MongoDB基础知识
2013/11/01 Python
Zabbix实现微信报警功能
2016/10/09 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
大学生的创业计划书就该这么写
2014/01/30 职场文书
学生周末长期请假条
2014/02/15 职场文书
工作会议主持词
2014/03/17 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
党校毕业个人总结
2015/02/28 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
盗窃案辩护词
2015/05/21 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
高三化学教学反思
2016/02/22 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
Java移除无效括号的方法实现
2021/08/07 Java/Android
Redis 哨兵机制及配置实现
2022/03/25 Redis