- 需求:
- 1、用户使用数字选择不同的功能;
- 2、根据功能选择,执行对应的功能;
- 3、需要记录用户的 姓名、电话、QQ、邮件;
- 4、查询到指定名片 用户可以选择 修改、删除名片操作;
- 实现步骤:
- 1、框架搭建
- 2、不同功能的函数定义
- 3、Linux下运行
- 文件命名:
- 在cards_tools.py文件中定义需要使用的函数;
- 在cards_main.py文件中引用定义的函数;
cards_main.py
cards_tools.py
cards_main.py 文件:
import cards_tools
while True:
cards_tools.show_menu()
action_str = input("请选择希望执行的操作:")
print("您选择的操作是【%s】" % action_str)
if action_str in ["1", "2", "3"]:
pass
if action_str == "1":
cards_tools.new_card()
elif action_str == "2":
cards_tools.show_all()
elif action_str == "3":
cards_tools.search_card()
elif action_str == "0":
print("欢迎再次使用【名片管理系统】")
break
else:
print("选择操作无效!请重新再次选择")
cards_tools.py 文件:
card_list = []
def show_menu():
"""首页显示"""
print('*' * 50)
print('')
print('欢迎使用【名片管理系统】V 1.0')
print('1. 新增名片')
print('2. 显示全部')
print('3. 搜索名片')
print('')
print('0. 退出系统')
print('*' * 50)
def new_card():
"""新增名片"""
print('*' * 50)
print('新增名片')
name_str = input('请输入姓名:')
phone_str = input('请输入电话:')
qq_str = input('请输入QQ:')
email_str = input('请输入邮箱:')
card_dict = {'name': name_str,
'phone': phone_str,
'qq': qq_str,
'email': email_str}
card_list.append(card_dict)
print('%s 成功添加' % name_str)
def show_all():
"""显示所有名片"""
print('*' * 50)
print('显示所有名片')
if len(card_list) == 0:
print('没有任务名片,请进行添加后查询!')
return
for name in ["姓名", "电话", "QQ", "邮箱"]:
print(name, end="\t\t")
print("")
print('=' * 50)
for card_dict in card_list:
print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]))
def search_card():
"""搜索函数"""
print('*' * 50)
print('搜索函数')
find_name = input('请输入您要查询的名字:')
for card_dict in card_list:
if card_dict["name"] == find_name:
print("姓名\t\t电话\t\t QQ\t\t邮箱")
print("=" * 50)
print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],
card_dict["phone"],
card_dict["qq"],
card_dict["email"]))
deal_card(card_dict)
break
else:
print('没有找到 %s' % find_name)
def deal_card(find_name):
"""处理查找到的名片
:param find_name: 查找到的名片
:return:
"""
action_str = input('请输入要执行的操作 '
'[1] 修改 [2]删除 [0]返回上级菜单')
if action_str == "1":
find_name["name"] = input_card_info(find_name["name"], '姓名[回车不修改]:')
find_name["phone"] = input_card_info(find_name["phone"], '电话[回车不修改]:')
find_name["qq"] = input_card_info(find_name["qq"], 'QQ[回车不修改]:')
find_name["email"] = input_card_info(find_name["email"], '邮箱[回车不修改]:')
print('修改名片成功!')
elif action_str == "2":
print('删除名片 %s 成功!' % find_name['name'])
card_list.remove(find_name)
def input_card_info(find_value, tip_message):
"""输入名片信息
:param find_value: 查找到字典中原有的值
:param tip_message: 输入的提示文字
:return: 如果用户输入内容 则返回内容 ,用户没有输入内容 则返回原有内容
"""
result_str = input(tip_message)
if len(result_str) > 0:
return result_str
else:
return find_value
Linux下运行
[root@haimati ~]
[root@haimati ~]
[root@haimati ~]
[root@haimati ~]
[root@haimati ~]
[root@haimati ~]
或者 直接使用python3解释器执行脚本:
[root@haimati ~]
|