名片管理系统python版

yipeiwu_com5年前Python基础

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

import os
list_all = []


def page():
 """输出主页面"""
 print("*" * 30)
 print("欢迎使用[名片管理系统]v2.0")
 print()
 print("1.新建名片")
 print("2.查看全部")
 print("3.查询名片")
 print("4.保存信息")
 print()
 print("0.退出系统")
 print("=" * 30)


def new_cards():
 """接收用户输入的信息保存至字典"""
 dict_1 = {"name": input("姓名:"),
  "age": input("年龄:"),
  "phone": input("电话:"),
  "email": input("邮箱:")}
 # 将字典添加至列表
 list_all.append(dict_1)


def check_all():
 """将所有的字典信息进行打印"""
 if len(list_all) > 0:
 print("姓名\t\t年龄\t\t电话\t\t邮箱")
 for i in list_all:
  print("%s\t\t%s\t\t%s\t\t%s" % (i["name"], i["age"],
      i["phone"], i["email"]))
 else:
  print("还没有任何信息")


def check_cards():
 """查询名片"""
 user = input("请输入要查询的姓名:")
 for i in list_all: # 遍历全局列表,将存入的字典依次取出
 if i['name'] == user: # 如果字典的值跟用户搜索的值相同打印字典
  print("姓名\t\t年龄\t\t电话\t\t邮箱")
  print("%s\t\t%s\t\t%s\t\t%s" % (i["name"], i["age"],
      i["phone"], i["email"]))
  revise_cards(i)
 else:
  print("没有查询到您搜索的信息")


def revise_cards(dict_1):
 """修改名片,接收之前已经查到的字典"""
 while True:
 user_choor = input("1.修改名片 2.删除名片 0.返回主菜单")
 if user_choor == "1": # 如果用户输入1执行修改功能
  print("修改名片,注:修改直接输入修改内容,回车不修改")
  dict_1["name"] = revise(dict_1["name"], input("姓名"))
  dict_1["age"] = revise(dict_1["age"], input("年龄"))
  dict_1["phone"] = revise(dict_1["phone"], input("电话"))
  dict_1["email"] = revise(dict_1["email"], input("邮箱"))
  print("修改成功")
  break
 # laturn
 elif user_choor == "2": # 如果输入2删除字典
  list_all.remove(dict_1)
  print("删除名片成功")
  break
 elif user_choor == "0":
  break
 else:
  print("输入错误请重新输入")


def revise(old, new):
 """实现回车不修改的功能"""
 if len(new) <= 0:

 return old
 else:
 return new


def save_dir():
 """将文件保存至指定文件"""
 a = open("123.xlsx", "w")
 a.write(str(list_all))
 a.close()
 print("保存成功")


def read_dir():
 """读取文件"""
 if os.path.exists("123.data"):
 a = open("123.data", "r")
 b = eval(a.read())
 global list_all
 list_all = b
 a.close()
import cards_tools
# 读取文件
cards_tools.read_dir()
while True:
 cards_tools.page()
 user_input = input("请选择您要执行的操作")
 if user_input == "1":
 print("即将执行:新建名片")
 cards_tools.new_cards()
 elif user_input == "2":
 print("即将执行:查看全部")
 cards_tools.check_all()
 elif user_input == "3":
 print("即将执行:查询名片")
 cards_tools.check_cards()
 elif user_input == "4":
 print("即将执行:保存信息")
 cards_tools.save_dir()
 elif user_input == "0":
 print("欢迎下次使用[名片管理系统]")
 exit()
 else:
 print("你的输入有误,请重新输入")

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python中 sys.argv[]的用法简明解释

详解Python中 sys.argv[]的用法简明解释

因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较...

Tensorflow模型实现预测或识别单张图片

Tensorflow模型实现预测或识别单张图片

利用Tensorflow训练好的模型,图片进行预测和识别,并输出相应的标签和预测概率。 如果想要多张图片,可以进行批次加载和预测,这里仅用单张图片进行演示。 模型文件: 预测图片:...

详解详解Python中writelines()方法的使用

 writelines()方法写入字符串序列到文件。该序列可以是任何可迭代的对象产生字符串,字符串为一般列表。没有返回值。 语法 以下是writelines()方法的语法:...

Python实现感知机(PLA)算法

Python实现感知机(PLA)算法

我们主要讲解一下利用Python实现感知机算法。 算法一 首选,我们利用Python,按照上一节介绍的感知机算法基本思想,实现感知算法的原始形式和对偶形式。 #利用Python实现感...

Python使用psutil获取进程信息的例子

psutil是什么 psutil是一个能够获取系统信息(包括进程、CPU、内存、磁盘、网络等)的Python模块。主要用来做系统监控,性能分析,进程管理,像glances也是基于psut...