分为两个程序文件:
# 主文件 : 主要负责项目的核心业务逻辑
import card_tool
"""
重复执行1-3
1.显示界面
2.获取用户的输入
3.根据用户的输入的编号,实现不同的功能
无限循环 :程序设计一直循环 , 一般有退出出口
死循环 : 程序写的BUG
"""
while True:
# 显示界面
card_tool.show_menu()
# 获取用户的输入
cmd_num = input('请选择执行的操作:')
# 显示打印
print('您选择的操作是:%s'% cmd_num)
# 判断用户输入,实现对应功能
if cmd_num == '1': # 新建名片
card_tool.add_card() # TODO 新建名片
elif cmd_num == '2': # 显示全部
card_tool.show_all()
elif cmd_num == '3': # 查询名片
print('查询名片')
card_tool.search_card()
elif cmd_num == '0': # 退出系统
print('退出系统')
break
else:
print('输入有误,请重新输入!')
副程序:
# 工具文件 具体的功能实现
card_list = []
def show_menu():
"""显示界面"""
print('*' * 30)
print('欢迎使用名片管理系统')
print()
print('1.新建名片')
print('2.显示全部')
print('3.查询名片')
print()
print('0.退出系统')
def add_card():
"""新建名片"""
print('功能:新建名片')
# 获取用户的输入
name_str = input('请输入姓名:')
phone_num = input('请输入电话:')
qq_num = input('请输入qq:')
mail_adr = input('请输入邮箱:')
card_info = {'name':name_str,'phone':phone_num,'qq':qq_num,'mail':mail_adr}
# 信息添加的列表中
card_list.append(card_info)
print('添加%s的名片成功'% name_str)
def show_all():
"""显示全部"""
print('功能:显示全部')
if len(card_list) == 0: # 没有任何名片记录
print('提示:没有任何名片记录')
return
# 显示表头
show_table_head()
# 遍历列表,取出每个学生的信息
for card_info in card_list:
print('%s\t\t%s\t\t%s\t\t%s'%
(card_info['name'],
card_info['phone'],
card_info['qq'],
card_info['mail']))
print('*' * 30)
def show_table_head():
"""设置表头"""
print('姓名\t\t电话\t\tqq\t\t邮箱')
print('-' * 30)
def search_card():
"""查询全部"""
print('功能:查询名片')
target_name = input('请输入查询的姓名:')
for card_info in card_list:
if card_info['name']== target_name:
global target_card
# 将查询的人记录下来
target_card = card_info
# 显示表头
show_table_head()
# 格式化输出
print('%s\t\t%s\t\t%s\t\t%s' %
(card_info['name'],
card_info['phone'],
card_info['qq'],
card_info['mail']))
print('-' * 30)
# 处理名片
deal_card()
break
else:
print('没有找到%s'%target_name)
def deal_card():
"""处理名片"""
while True:
# 获取用户的输入
cmd_num = input('请输入对名片的操作:1.修改 / 2. 删除 / 0.返回上一级')
if cmd_num == '1': # 修改
update_card()
break
elif cmd_num == '2': # 删除
remove_card()
break
elif cmd_num == '0': # 退出系统
break
else:
print('输入有误,请重新输入')
def update_card():
"""修改"""
target_card['name'] = input('请输入姓名:')
target_card['phone'] = input('请输入电话:')
target_card['qq'] = input('请输入qq:')
target_card['mail'] = input('请输入邮箱:')
print('%s的名片修改名片成功'%target_card['name'])
def remove_card():
"""删除名片"""
card_list.remove(target_card)