详解Python做一个名片管理系统
名片管理系统有两个模块组成:cards_main.py和cards_tools.py一个是主程序,另一个是封装增删改查函数的被调用程序
代码如下
cards_main.py
#!/usr/bin/python
#-*-coding:utf-8-*-
importcards_tools
#无限循环,用户决定什么时候退出循环!
whileTrue:
#TODO(作者)显示功能菜单
#TODO提醒要做的事情
cards_tools.show_menu()
action_str=raw_input('请选择希望执行的操作:')
print'您选择的操作是【%s】'%action_str
#1,2,3针对名片的操作
ifaction_strin['1','2','3']:
pass
#新增名片
ifaction_str=='1':
cards_tools.new_card()
#显示全部
elifaction_str=='2':
cards_tools.show_all()
#查询名片
elifaction_str=='3':
cards_tools.search_card()
#0退出系统
elifaction_str=='0':
print'欢迎再次使用名片系统'
#如果暂时不想写分支代码
#可以用pass
break
#其他内容错误,提示用户
else:
print'您输入的不正确,请重新选择'
cards_tools.py
cards_tools.py
#-*-coding:utf-8-*-
#用列表记录所有名片字典
card_list=[]
defshow_menu():
"""显示菜单"""
print'*'*50
print'欢迎使用【名片管理系统v1.0】'
print''
print'1.新增名片'
print'2.显示全部'
print'3.搜索名片'
print'0.退出系统'
print'*'*50
defnew_card():
"""新增名片"""
print'新增名片'
#1.提示用户输入名片的详细信息
name_str=raw_input('请输入姓名:')
phone_str=raw_input('请输入电话:')
qq_str=raw_input('请输入QQ:')
email_str=raw_input('请输入邮箱:')
#2.使用用户输入信息建立一个字典
card_dic={'name':name_str,
'phone':phone_str,
'qq':qq_str,
'email':email_str
}
#3.将名片字典添加到列表
card_list.append(card_dic)
#4.提示用户添加成功
print'用户%s添加成功'%name_str
defshow_all():
"""展示所有名片"""
print'展示所有名片'
#如果没有任何名片
iflen(card_list)==0:
print'当前没有任何名片'
#return可以返回结果给函数
#也可以直接结束函数
#return后的代码不执行
return
#打印表头
forheadin['姓名','电话','QQ','邮箱']:
print'%s\t\t'%head,
print''
forcard_dicincard_list:
print'%s\t\t%s\t\t%s\t\t%s\t\t'%(card_dic['name'],card_dic['phone'],card_dic['qq']
,card_dic['email'])
print''
defsearch_card():
"""搜索名片"""
print'搜索名片'
#1.提示用户要搜索的姓名
find_name=raw_input('请输入你要搜索的姓名:')
#2.遍历列表进行查询,如果没有则提示用户
forcard_dicincard_list:
ifcard_dic['name']==find_name:
print'找到了%s'%find_name
print'%s\t\t%s\t\t%s\t\t%s\t\t'%(card_dic['name'],card_dic['phone'],card_dic['qq']
,card_dic['email'])
#针对找到的记录进行修改和删除
deal_card(card_dic)
break
else:
print'没有找到%s'%find_name
defdeal_card(find_dic):
"""
处理找到的名片,进行修改和删除
:paramfind_dic:找到的字典名片
"""
printfind_dic
action_str=raw_input('请选择要执行的操作'
'[1]修改[2]删除[0]返回上级菜单')
ifaction_str=='1':
input_card_info(find_dic['name'],'姓名:')
input_card_info(find_dic['phone'],'电话:')
input_card_info(find_dic['qq'],'QQ:')
input_card_info(find_dic['email'],'邮箱:')
print'修改名片成功'
elifaction_str=='2':
card_list.remove(find_dic)
print'删除名片成功'
definput_card_info(dic_value,tip_message):
"""输入名片信息
:paramdic_value:字典原有值
:paramtip_message:输入的提示文字
:return:返回修改后的值,如果没有输入则返回原值
"""
result_str=raw_input(tip_message)
#iflen(result_str)>0:
#returnresult_str
##3.如果用户没有输入,则用原来的值
#else:
#returndic_value
iflen(result_str)>0:
dic_value=result_str
else:
dic_value=dic_value
以上所述是小编给大家介绍的Python如何做一个名片管理系统详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!