名片管理系统python版
作者:WangF0 发布时间:2021-08-06 01:50:15
标签: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("你的输入有误,请重新输入")
更多学习资料请关注专题《管理系统开发》。
来源:http://blog.csdn.net/wf134/article/details/78409464


猜你喜欢
- 画外接矩形框,可以画成一个最大的,也可以分别画。# -*- coding: utf-8 -*-import cv2image = cv2.i
- 由于这两天换了IDE,在导入以前的工程的时候发现了一个大问题,由于以前脑残的我不知道改编码方式,导致出现了大量的GBK,这就很难受,要是一个
- 每个程序员都绝对必须知道的关于字符集和Unicode的那点儿事(别找借口!)Unicode与字符集你曾经是否觉得HTML中的"Co
- 前言最近有人问我装饰器是什么,我就跟他说,其实就是装饰器就是类似于女孩子的发卡。你喜欢的一个女孩子,她可以有很多个发卡,而当她戴上不同的发卡
- 目录配置连接池SetMaxOpenConns方法SetMaxIdleConns方法SetConnMaxLifetime方法SetConnMa
- 如何生成指定区间中的随机数要求生成区间[a, b]中的随机数。若要求为浮点数,则Python中只能近似达到这一要求,因为随机函数的取值区间一
- mysql创建存储过程的官方语法为:START TRANSACTION | BEGIN [WORK]COMMIT [WORK] [AND [
- 豆瓣镜像源:https://pypi.douban.com/simple/file >> setting最后点击OK即可PyCh
- # -*-coding:utf-8-*-import sys, os'''将当前进程fork为一个守护进程注意:如果
- 为了让某个数据结构能够在网络上传输或能够保存至文件,它必须被编码然后再解码。当然已经有许多可用的编码方式了,比如 JSON、XML、Goog
- 迭代dict的key和value我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和va
- 不久之前,笔者一个在企业中从事网管工作的朋友向我求助关于SQL Server服务器内存升级后遇到的问题。原来,他们企业准备上一个企业邮箱系统
- 其实图像识别技术与我们平时做的密码验证之类的没有什么区别,都是事先把要校验的数据入库,然后使用时将录入(识别)的数据与库中的数据做对比,只不
- 本文介绍的是关于Python利用字典的默认行为的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:典型代码1:from collect
- seek()方法在偏移设定该文件的当前位置。参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当
- Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它
- 在我们修改过页面的某些数据后,通过想要把页面刷新一下,看看修改后的结果。由于vue的存在,页面是不会自动刷新的,需要我们手动进行操作。在vu
- 打包pyinstaller 02.py --noconsole --hidden-import PySide2.QtXml报错0:The &
- 1.如何定位并优化慢查询sqla.根据慢日志定位慢查询sqlSHOW VARIABLES LIKE '%query%' &
- 优先级两者放置相同条件,之所以可能会导致结果集不同,就是因为优先级。on的优先级是高于where的。首先明确两个概念:LEFT JOIN 关