一个名片管理系统,其功能包括对名片信息的添加、显示、修改以及删除等。
为了便于代码功能的书写和阅读,将代码分为主函数和工具包函数两个部分。其中主函数定义系统的主体框架,工具包函数用来定义系统的模块功能。通过import指令将工具包函数到入到主函数中,从而实现系统的完整功能。
一 主函数模块
注:主函数文件card_main.py和工具包函数card_tools.py最好放在同一个文件夹里
import card_tools #在主函数文件中导入工具包函数文件
while True:
card_tools.show_menu()
act_str=raw_input('请选择您要执行的操作:')
if act_str in ['1','2','3']:
if act_str=='1':
card_tools.new_card()
if act_str=='2':
card_tools.show_all()
elif act_str=='3':
card_tools.search_card()
elif act_str=='0':
print '欢迎再次使用【名片管理系统】'
break
else:
print '输入错误,请重新输入'
二 工具包模块
1.初始化界面:
card_list=[] #定义空列表,后续存储信息
#初始化界面
def show_menu():
print '*' * 50
print '欢迎使用【名片管理系统】'
print ''
print '1.新增名片'
print '2.显示全部名片'
print '3.搜索名片'
print '0.退出系统'
print ''
print '*' * 50
2.增加名片信息模块
#新增信息模块
def new_card():
print '-'* 50
print '请输入新的名片信息:'
print ''
name_str=raw_input('input the username:')
phone_str=raw_input('input the user number:')
qq_str=raw_input('input the qq number:')
mail_str=raw_input('input the mail number:')
card_dic={'姓名':name_str,
'电话':phone_str,
'QQ':qq_str,
'邮箱':mail_str}
card_list.append(card_dic)
show_inputd=card_list[-1]
print '录入信息如下:'
print '姓名:%s' %show_inputd['姓名']
print '电话:%s' %show_inputd['电话']
print 'QQ:%s' %show_inputd['QQ']
print '邮箱:%s' %show_inputd['邮箱']
print '添加%s的信息成功!' %name_str
3.信息显示模块
#显示信息模块
def show_all():
print '*'*50
print '显示所有名片'
if len(card_list)==0:
print '当前无任何用户信息'
return
for name in ['姓名','电话','QQ','邮箱']:
print '%s\t' %name,
print ''
for card_dict in card_list:
print '%s\t\t%s\t\t%s\t\t%s' %(card_dict['姓名'],
card_dict['电话'],
card_dict['QQ'],
card_dict['邮箱'])
4.信息搜索、修改、删除模块
#查找、修改、删除信息模块
def search_card():
print '='* 50
find_name=raw_input('请输入要搜索的用户名:')
for find_dic in card_list:
if find_dic['姓名']==find_name:
print '查询结果为:'
print '姓名:%s' %find_dic['姓名']
print '电话:%s' %find_dic['电话']
print 'QQ:%s' %find_dic['QQ']
print '邮箱:%s' %find_dic['邮箱']
print '='* 50
action_str=raw_input('请输入要继续执行的操作:'
'[0]退出当前搜索,[1]修改 [2]删除:')
if action_str=='1':
change_str=raw_input('请输入修改项:')
if change_str=='电话':
find_dic['电话']=raw_input('请输入新的电话号码:')
elif change_str=='QQ':
find_dic['QQ']=raw_input('请输入新的QQ号码:')
elif change_str=='邮箱':
find_dic['邮箱']=raw_input('请输入新的邮箱:')
elif action_str=='2':
card_list.remove(find_dic)
elif action_str=='0':
break
else:
print '系统中未检测到%s的相关信息' %find_name
5.输入判断模块
def input_card_info(dict_value,tip_message):
result_str=raw_input(tip_message)
if len(result_str)>0:
return result_str
else:
return dict_value
三 效果演示
1,添加信息:
**************************************************
欢迎使用【名片管理系统】
1.新增名片
2.显示全部名片
3.搜索名片
0.退出系统
**************************************************
请选择您要执行的操作:1
--------------------------------------------------
请输入新的名片信息:
input the username:chen
input the user number:188
input the qq number:126
input the mail number:197
录入信息如下:
姓名:chen
电话:188
QQ:126
邮箱:197
添加chen的信息成功!
**************************************************
2 显示信息
**************************************************
欢迎使用【名片管理系统】
1.新增名片
2.显示全部名片
3.搜索名片
0.退出系统
**************************************************
请选择您要执行的操作:2
**************************************************
显示所有名片
姓名 电话 QQ 邮箱
chen 188 126 197
**************************************************
3.搜索并修改
**************************************************
欢迎使用【名片管理系统】
1.新增名片
2.显示全部名片
3.搜索名片
0.退出系统
**************************************************
请选择您要执行的操作:3
==================================================
请输入要搜索的用户名:chen
查询结果为:
姓名:chen
电话:188
QQ:126
邮箱:197
==================================================
请输入要继续执行的操作:[0]退出当前搜索,[1]修改 [2]删除:1
请输入修改项:电话
请输入新的电话号码:187
**************************************************
4.搜索并删除
**************************************************
请选择您要执行的操作:3
==================================================
请输入要搜索的用户名:chen
查询结果为:
姓名:chen
电话:187
QQ:126
邮箱:197
==================================================
请输入要继续执行的操作:[0]退出当前搜索,[1]修改 [2]删除:2
**************************************************
5.退出系统
**************************************************
欢迎使用【名片管理系统】
1.新增名片
2.显示全部名片
3.搜索名片
0.退出系统
**************************************************
请选择您要执行的操作:0
欢迎再次使用【名片管理系统】
2880

被折叠的 条评论
为什么被折叠?



