详解Python做一个名片管理系统
时间:2022-12-27 10:18:47|栏目:Python代码|点击: 次
名片管理系统有两个模块组成:cards_main.py
和 cards_tools.py
一个是主程序,另一个是封装增删改查函数的被调用程序
代码如下
cards_main.py
#! /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
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 '*'*50 def 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_str def 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_name def 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接口自动化浅析pymysql数据库操作流程
栏 目:Python代码
本文标题:详解Python做一个名片管理系统
本文地址:http://www.codeinn.net/misctech/222314.html