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

yipeiwu_com6年前Python基础

本文实例为大家分享了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设计】。

相关文章

python3 实现验证码图片切割的方法

python3 实现验证码图片切割的方法

切割前图片 切割后四个图片 代码 #coding:utf8 import os from PIL import Image,ImageDraw,ImageFile import...

Python简单生成8位随机密码的方法

本文实例讲述了Python简单生成8位随机密码的方法。分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding: utf-8 -*- i...

使用python在本地电脑上快速处理数据

大数据一般是在“云”上玩的,但“云”都是要钱的,而且数据上上下下的也比较麻烦。所以,在本地电脑上快速处理数据的技能还是要的。 pandas 在比赛中学到的一个工具,本地可以在亿级别的数据...

python笔记(1) 关于我们应不应该继续学习python

以前面试的时候会被问到,linux熟不熟呀?对于这种问题:我总会尴尬地回答,“额..了解一点”。   然而,我大学毕业的时候,连linux的虚拟机都没装过,更别提系统熟不熟悉了。虽然我了...

python3 selenium自动化测试 强大的CSS定位方法

ccs的优点:css相对xpath语法比xpath简洁,定位速度比xpath快 css的缺点:css不支持用逻辑运算符来定位,而xpath支持。css定位语法形式多样,相对xpath比较...