1.主逻辑实现
1.1 模块划分
总共分为两个文件来写这个系统
- card_main.py 主文件主要负责以下功能:
- 显示欢迎界面
- 获取用户输入
- 根据用户输入执行对应操作(1-新建名片,2-显示全部名片,3-查询名片,4-退出系统)
- 重复以上步骤
- card_tool.py 工具文件主要负责负责以下功能:
- 新增名片
- 修改名片
- 查询名片
- 删除名片
1.2 主逻辑编写
- card_main.py
import card_tool
while True:
card_tool.show_meun()
get_num = input('请选择要执行的操作:')
if get_num == '1':
print('新建名片')
elif get_num == '2':
print('显示全部')
elif get_num == '3':
print('查找名片')
elif get_num == '0':
print('退出系统')
break
else:
print('输入错误,重新输入')
- card_tool.py
def show_meun():
print('-'*30)
print('欢迎使用名片管理系统')
print('-'*30)
2. 新建名片实现
- card_tool.py
# 新建名片功能
card_list=[]
def add_card():
print('功能:新建名片')
# 获取名片信息
name=input('请输入姓名:')
phone=input('请输入电话:')
qq=input('请输入qq:')
mail=input('请输入邮箱:')
# 将信息封装入字典
card_info={name:name,phone:phone,qq:qq,mail:mail}
# 将单条信息加入列表
card_list.append(card_info)
# 成功提示
print('新增姓名为%s的名片成功!'% name)
3. 显示全部名片
- card_tool.py
def show_card():
print('功能:显示全部名片')
if len(card_list) == 0:
print('提示:当前名片无内容,请添加名片后操作')
return
print('姓名\t\t电话\t\tQQ\t\t邮箱\t\t')
print('-' * 30)
for card_info in card_list:
print(card_info['name']+'\t\t'+card_info['phone']+'\t\t'+card_info['qq']+'\t\t'+card_info['mail'])
4. 查询功能
- card_tool.py
def show_head():
print('姓名\t\t电话\t\tQQ\t\t邮箱\t\t')
print('-' * 30)
#根据名字查找
def search_card():
print('功能:根据名字查找名片')
search_name = input('请输入需要查询的name:')
for card_info in card_list:
if card_info['name'] == search_name:
show_head()
print(card_info['name'] + '\t\t' + card_info['phone'] + '\t\t' + card_info['qq'] + '\t\t' + card_info['mail'])
print('-' * 30)
#高级用法:对这一行进行修改,删除
pass
break
else:
print('没有找到这个名片')
5. 修改与删除,返回上一层
- card_tool.py
def advance_func(card_info):
while True:
num = input('请输入对这一行的操作:1-修改,2-删除,0-返回上一层')
if num == '1':
update_card(card_info)
break
elif num == '2':
delete_card(card_info)
elif num == '0':
break
else:
print('输入有误,重新输入')
# 修改名片
def update_card(card_info):
card_info['name'] = input('请输入要修改的name:')
card_info['phone'] = input('请输入要修改的phone:')
card_info['qq'] = input('请输入要修改的qq:')
card_info['mail'] = input('请输入要修改的mail:')
print('姓名为%s的名片已经修改完毕' % card_info['name'])
#删除名片
def delete_card(card_info):
card_list.remove(card_info)
print('名片删除成功')
6.管理系统代码
'''
1.显示欢迎界面
2.获取用户输入
3.执行对应操作(1-新建名片,2-显示全部名片,3-查询名片,4-退出系统)
重复123
'''
# 引入主文件模块
import card_tool
while True:
card_tool.show_meun()
get_num = input('请选择要执行的操作:')
if get_num == '1':
card_tool.add_card()
elif get_num == '2':
card_tool.show_card()
elif get_num == '3':
card_tool.search_card()
elif get_num == '0':
print('退出系统')
break
else:
print('输入错误,重新输入')
# 欢迎界面
def show_meun():
print('-'*30)
print('欢迎使用名片管理系统')
print('-'*30)
print('1 - 新建名片')
print('2 - 显示全部名片')
print('3 - 查询名片')
print('4 - 退出系统')
# 新建名片功能
card_list=[]
def add_card():
print('功能:新建名片')
# 获取名片信息
name_str=input('请输入姓名:')
phone_int=input('请输入电话:')
qq_int=input('请输入qq:')
mail_str=input('请输入邮箱:')
# 将信息封装入字典
card_info = {'name': name_str, 'phone': phone_int, 'qq': qq_int, 'mail': mail_str}
# 将单条信息加入列表
card_list.append(card_info)
# 成功提示
print('新增姓名为%s的名片成功!' % name_str)
# 显示全部名片
def show_card():
print('功能:显示全部名片')
if len(card_list) == 0:
print('提示:当前名片无内容,请添加名片后操作')
return
show_head()
for card_info in card_list:
print(card_info['name']+'\t\t'+card_info['phone']+'\t\t'+card_info['qq']+'\t\t'+card_info['mail'])
print("-" * 30)
def show_head():
print('姓名\t\t电话\t\tQQ\t\t邮箱\t\t')
print('-' * 30)
# 根据名字查找
def search_card():
print('功能:根据名字查找名片')
search_name = input('请输入需要查询的name:')
for card_info in card_list:
if card_info['name'] == search_name:
show_head()
print(card_info['name'] + '\t\t' + card_info['phone'] + '\t\t' + card_info['qq'] + '\t\t' + card_info['mail'])
print('-' * 30)
# 高级用法:对这一行进行修改,删除,返回上一级
advance_func(card_info)
break
else:
print('没有找到这个名片')
#高级功能实现
def advance_func(card_info):
while True:
num = input('请输入对这一行的操作:1-修改,2-删除,0-返回上一层')
if num == '1':
update_card(card_info)
break
elif num == '2':
delete_card(card_info)
elif num == '0':
break
else:
print('输入有误,重新输入')
# 修改名片
def update_card(card_info):
card_info['name'] = input('请输入要修改的name:')
card_info['phone'] = input('请输入要修改的phone:')
card_info['qq'] = input('请输入要修改的qq:')
card_info['mail'] = input('请输入要修改的mail:')
print('姓名为%s的名片已经修改完毕' % card_info['name'])
#删除名片
def delete_card(card_info):
card_list.remove(card_info)
print('名片删除成功')