名片信息管理系统,功能:新建,显示,查询,修改,删除,退出
1.源代码
- cards_main.py
#! /usr/bin/python3
# shebang(#!解释器路径)符号,修改文件执行权限,可直接在终端中执行文件
import cards_tools as ct
"""
主程序功能代码
"""
# 主界面
while True:
choice=ct.show_menu() # 用户输入str
if choice in ["1","2","3"]:
# 名片操作
if choice=="1":
ct.new_card() # chuagnjian
elif choice=="2":
ct.show_all() # zhanshi
else:
ct.search_card() # chaxun
elif choice=="0":
# 退出系统
print("退出系统")
exit()
else:
# 错误输入,提示
print("输入错误,请重新输入!")
- cards_tools.py
"""
所有名片功能函数
数据结构:
字典保存名片信息
列表保存所有名片字典
"""
card_list = [] # 所有名片记录列表
def show_menu():
"""菜单显示"""
welcome = "*" * 40 + "\n" + \
"欢迎使用【名片管理系统】V1.0" + "\n" + \
"1.新建名片\n2.显示全部\n3.查询名片\n0.退出系统" + "\n" + \
"*" * 40 + "\n" + \
"请选择操作功能:"
return input(welcome) # 用户输入str
def new_card():
"""创建名片"""
print("-" * 40)
print("新建名片")
# 输入
name = input("请输入名字(不能为空):")
# 姓名输入不能为空,且重复
while name == "" or search(name) != 0:
if search(name) != 0:
print("此名字已创建,")
name = input("请重新输入名字:")
phone = input("请输入电话:")
email = input("请输入邮箱:")
# 保存
infon = {"name": name,
"phone": phone,
"email": email}
card_list.append(infon)
#
print("创建成功:")
print("name:" + infon["name"] + "\t\t" +
"phone:" + infon["phone"] + "\t\t" +
"email:" + infon["email"])
def show_all():
"""查询所有名片信息"""
print("-" * 40)
print("显示全部")
# 判断是否为空
if len(card_list) == 0:
print("无任何名片信息!")
return
print("%-20s\t\t%-20s\t\t%-20s\n" % ("name", "phone", "email") + "-" * 70)
for info in card_list:
print("%-20s\t\t%-20s\t\t%-20s" % (info["name"], info["phone"], info["email"]))
print("-" * 70)
def search_card():
"""搜索相关名片"""
print("-" * 40)
print("查询名片")
search_name = input("请输入名片姓名:")
c_info = search(search_name)
if c_info == 0:
print("没有找到相关信息!")
return
print("name:" + c_info["name"] + "\t\t" +
"phone:" + c_info["phone"] + "\t\t" +
"email:" + c_info["email"])
# 其他操作修改
deal_card(c_info)
def deal_card(find_dict):
"""修改删除"""
card_operat = input("请输入对名片的操作(1:修改/2:删除/0:返回上一级):")
while card_operat not in ["1", "2", "0"]:
card_operat = input("输入错误,请重新输入(1:修改/2:删除/0:返回上一级):")
if card_operat == "1":
# 修改
#name = input("请输入名字(回车跳过):")# 输入
# 姓名输入不能重复
# while search(name) != 0:
# name = input("此名字已创建,请重新输入名字(回车跳过):")
phone = input("请输入电话(回车跳过):")
email = input("请输入邮箱(回车跳过):")
# 保存
# if name != "":
# find_dict["name"] = name
if phone != "":
find_dict["phone"] = phone
if email != "":
find_dict["email"] = email
print("成功修改:"+str(find_dict))
elif card_operat == "2":
# 删除
if_del=input("是否确认删除(Y):")
if if_del not in ["y","Y"]:
print("取消")
return
c_del = card_list.pop(card_list.index(find_dict))
if search(c_del["name"]) == 0:
print("已经删除:" + str(c_del))
else:
# 返回上一级
return
def search(name):
"""搜索
:param name:
:return:
"""
for info in card_list:
if name == info["name"]:
return info # 找到
return 0 # 没有找到
2. 结果展示
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:1
----------------------------------------
新建名片
请输入名字(不能为空):123
请输入电话:123
请输入邮箱:213
创建成功:
name:123 phone:123 email:213
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:1
----------------------------------------
新建名片
请输入名字(不能为空):352345
请输入电话:43454
请输入邮箱:34534
创建成功:
name:352345 phone:43454 email:34534
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:2
----------------------------------------
显示全部
name phone email
----------------------------------------------------------------------
123 123 213
352345 43454 34534
----------------------------------------------------------------------
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:3
----------------------------------------
查询名片
请输入名片姓名:352345
name:352345 phone:43454 email:34534
请输入对名片的操作(1:修改/2:删除/0:返回上一级):1
请输入电话(回车跳过):
请输入邮箱(回车跳过):
成功修改:{'name': '352345', 'phone': '43454', 'email': '34534'}
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:3
----------------------------------------
查询名片
请输入名片姓名:352345
name:352345 phone:43454 email:34534
请输入对名片的操作(1:修改/2:删除/0:返回上一级):1
请输入电话(回车跳过):00
请输入邮箱(回车跳过):0
成功修改:{'name': '352345', 'phone': '00', 'email': '0'}
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:2
----------------------------------------
显示全部
name phone email
----------------------------------------------------------------------
123 123 213
352345 00 0
----------------------------------------------------------------------
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:3
----------------------------------------
查询名片
请输入名片姓名:352345
name:352345 phone:00 email:0
请输入对名片的操作(1:修改/2:删除/0:返回上一级):2
是否确认删除(Y):d
取消
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:3
----------------------------------------
查询名片
请输入名片姓名:352345
name:352345 phone:00 email:0
请输入对名片的操作(1:修改/2:删除/0:返回上一级):2
是否确认删除(Y):y
已经删除:{'name': '352345', 'phone': '00', 'email': '0'}
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:2
----------------------------------------
显示全部
name phone email
----------------------------------------------------------------------
123 123 213
----------------------------------------------------------------------
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:1
----------------------------------------
新建名片
请输入名字(不能为空):12312
请输入电话:32143
请输入邮箱:2341
创建成功:
name:12312 phone:32143 email:2341
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:2
----------------------------------------
显示全部
name phone email
----------------------------------------------------------------------
123 123 213
12312 32143 2341
----------------------------------------------------------------------
****************************************
欢迎使用【名片管理系统】V1.0
1.新建名片
2.显示全部
3.查询名片
0.退出系统
****************************************
请选择操作功能:0
退出系统
Process finished with exit code 0