Python练习--名片管理系统

    xiaoxiao2022-07-02  122

    名片管理系统

    主要涵盖知识点: 列表可存放数据的样式对于字典的用法, 怎样添加数据格式化点位符if 判断分支流程的走向函数分模块的意识 # 定义一个空列表, 里面存放所有的个人名片 card_list = [] def show_menu(): """显示菜单""" print('*' * 50) print('欢迎使用[名片管理系统]') print('') print('1. 新增名片') print('2. 删除名片') print('3. 修改名片') print('4. 搜索名片') print('5. 显示全部') print('0. 退出系统') print('*' * 50) def new_card(): """新增名片""" print('*' * 50) print('新增名片') card_dict = {} # 创建一个新字典 name = input('请输入姓名: ') mobile = input('请输入电话: ') qq = input('请输入QQ: ') email = input('请输入邮箱: ') # 把输入的内容以键值对的方式存入字典 card_dict['name'] = name card_dict['mobile'] = mobile card_dict['QQ'] = qq card_dict['email'] = email # 再把单个名片放入到一个大列表里面去, 所有的名片都在里面 card_list.append(card_dict) print(card_list) print('添加%s的名片成功' % name) def del_dict(): """删除名片""" print('*' * 50) print('删除名片') find_name = input('请问你想删除哪一个名片: ') # 如果列表里面根本没内容, 就找不到东西可以删除 if len(card_list) < 1: print('sorry, 没有找到%s' % find_name) return # 如果有内容, 再去根据用户输入的名字查找删除 else: for card_dict in card_list: if card_dict['name'] == find_name: card_list.remove(card_dict) print('删除%s名片成功' % find_name) break # 如果用户输入错误则提示找不到 else: print('sorry, 没有找到%s' % find_name) def modify_dict(): """修改名片""" print('*' * 50) print('修改名片') find_name = input('请问你想修改哪一个名片: ') # 如果列表里面根本没内容, 就找不到东西可以修改 if len(card_list) < 1: print('sorry, 没有找到%s' % find_name) return # 如果有内容, 再去根据用户输入的名字查找修改 else: for card_dict in card_list: if card_dict['name'] == find_name: name = input('请输入姓名: ') mobile = input('请输入电话: ') QQ = input('请输入QQ: ') email = input('请输入邮箱: ') card_dict['name'] = name card_dict['mobile'] = mobile card_dict['QQ'] = QQ card_dict['email'] = email print('修改%s成功' % card_dict['name']) break # 如果用户输入错误则提示找不到 else: print('sorry, 没有找到%s' % find_name) def search_card(): """查询个人名片""" print('*' * 50) print('搜索名片') find_name = input('请输入你要查找的姓名: ') # 如果列表里面根本没内容, 就查询不到东西 if len(card_list) < 1: print('sorry, 没有找到%s' % find_name) return # 如果有内容, 再去根据用户输入的名字查找 else: for card_dict in card_list: if card_dict['name'] == find_name: print('姓名\t\t电话\t\tQQ\t\t邮箱') print('=' * 50) print('%s\t\t%s\t\t%s\t\t%s' % ( card_dict['name'], card_dict['mobile'], card_dict['QQ'], card_dict['email'])) break # 如果用户输入错误则提示找不到 else: print('sorry, 没有找到%s' % find_name) def show_all(): """显示所有的名片""" print('*' * 50) print('显示所有的名片') # 如果列表里面根本没内容, 就查询不到东西 if len(card_list) < 1: print('当前还没有任何名片记录, 请使用新增功能添加名片') return # \t是制表符, 加了两个\t print('姓名\t\t电话\t\tQQ\t\t邮箱') print('=' * 50) for card_dict in card_list: print('%s\t\t%s\t\t%s\t\t%s' % (card_dict['name'], card_dict['mobile'], card_dict['QQ'], card_dict['email'])) def main(): """这里是主函数, 整个程序的主要函数入口在这里, 由这里走向不同的分支方向""" while True: action_str = input("请选择希望执行的操作: ") print("你选择的操作是 %s" % action_str) if action_str in ["1", "2", "3", '4', '5']: if action_str == "1": new_card() elif action_str == "2": del_dict() elif action_str == "3": modify_dict() elif action_str == '4': search_card() else: show_all() # 0退出系统 elif action_str == "0": print("欢迎再次使用【名片管理系统】:") break else: print("输入错误,请重新输入:") if __name__ == '__main__': # 欢迎光临的页面 show_menu() # 找到主要函数的入口 main()
    最新回复(0)