#! /usr/bin/python# -*- coding:utf-8 -*-import cards_tools# 无限循环,用户决定什么时候退出循环!while True: # TODO(作者) 显示功能菜单 # TODO 提醒要做的事情 cards_tools.show_menu() action_str = raw_input('请选择希望执行的操作:') print '您选择的操作是【%s】' %action_str # 1,2,3针对名片的操作 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() # 0 退出系统 elif action_str == '0': print '欢迎再次使用名片系统' #如果暂时不想写分支代码 #可以用pass break # 其他内容错误,提示用户 else: print '您输入的不正确,请重新选择'
cards_tools.py# -*- coding:utf-8 -*-#用列表记录所有名片字典card_list = []def show_menu(): """显示菜单""" print '*'*50 print '欢迎使用【名片管理系统 v1.0】' print '' print '1. 新增名片' print '2. 显示全部' print '3. 搜索名片' print '0. 退出系统' print '*'*50def new_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_strdef show_all(): """展示所有名片""" print '展示所有名片' # 如果没有任何名片 if len(card_list) == 0: print '当前没有任何名片' # return可以返回结果给函数 # 也可以直接结束函数 # return后的代码不执行 return # 打印表头 for head in ['姓名', '电话','QQ', '邮箱']: print '%s/t/t' % head, print '' for card_dic in card_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 ''def search_card(): """搜索名片""" print '搜索名片' # 1. 提示用户要搜索的姓名 find_name = raw_input('请输入你要搜索的姓名:') # 2. 遍历列表进行查询,如果没有则提示用户 for card_dic in card_list: if card_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_namedef deal_card(find_dic): """ 处理找到的名片,进行修改和删除 :param find_dic: 找到的字典名片 """ print find_dic action_str = raw_input('请选择要执行的操作' '[1]修改 [2]删除 [0]返回上级菜单') if action_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 '修改名片成功' elif action_str == '2': card_list.remove(find_dic) print '删除名片成功'def input_card_info(dic_value, tip_message): """输入名片信息 :param dic_value:字典原有值 :param tip_message:输入的提示文字 :return :返回修改后的值,如果没有输入则返回原值 """ result_str = raw_input(tip_message) # if len(result_str) > 0: # return result_str # # 3. 如果用户没有输入,则用原来的值 # else: # return dic_value if len(result_str) > 0: dic_value = result_str else: dic_value = dic_value
以上所述是小编给大家介绍的Python如何做一个名片管理系统详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VEVB武林网网站的支持!