本文共 3918 字,大约阅读时间需要 13 分钟。
先新建一个包,命名为exercise
包下面新建两个python file
card_main.py
card_tools.py
接下来就直接放代码吧,不难,应该都能看懂
card_main.py
#! /usr/bin/python3# -*- coding: utf-8 -*-__author__ = "ZXP";from exercise import card_toolswhile True: # 显示功能菜单 card_tools.show_menu() action_str = input("请选择希望执行的操作:") print("您选择的操作是【%s】" % action_str) # 1,2,3是针对名的操作 if action_str in ["1", "2", "3"]: # 新增名片 if action_str == "1": card_tools.new_card() # 显示名片 elif action_str == "2": card_tools.show_all() # 查询名片 elif action_str == "3": card_tools.search_card() # pass # 0 是退出系统 elif action_str == "0": print("欢迎再次使用,【名片管理系统】") break # pass # 其他输入需要提示用户输入错误 else: print("您输入的是【%s】,不正确!!!,请重新输入" % action_str)
card_tools.py
# 记录所有名片字典card_list = []def show_menu(): """显示菜单""" print("*" * 50) print("欢迎使用【菜单管理系统】V1.0") print("") print("1. 新建名片") print("2. 显示全部") print("3. 查询名片") print("") print("0. 退出系统") print("*" * 50)def new_card(): """新增名片""" print("-" * 50) print("新增名片") # 1. # 提示用户依次输入名片信息 name_str = input("请输入姓名:") phone_str = input("请输入电话:") qq_str = input("请输入 QQ 号码:") email_str = input("请输入邮箱:") # 2. # 将名片信息保存到一个字典 card_dict = {"name": name_str, "phone": phone_str, "qq": qq_str, "email": email_str} # 3. # 将字典添加到名片列表 card_list.append(card_dict) # print(card_list) # 4. # 提示名片添加完成 print("成功添加 %s 的名片" % card_dict["name"])def show_all(): """显示所有名片""" print("-" * 50) print("显示所有名片") # 1. 判断是否有名片记录 if len(card_list) == 0: print("提示:没有任何名片记录,请使用新增功能添加名片") return # 打印表头 for name in ["姓名", "电话", "QQ", "邮箱"]: print(name, end="\t\t") print("") print("=" * 50) # 循环遍历名片列表,顺序显示每一个字典的信息 for card_dict in card_list: # print(card_dict) print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"]))def search_card(): """搜索名片""" print("-" * 50) print("搜索所有名片") # 1. 提示用户要搜索的姓名 find_name = input("请输入要搜索的姓名:") # 2. 根据用户输入的姓名遍历列表 for card_dict in card_list: if card_dict["name"] == find_name: print("姓名\t\t\t电话\t\t\tQQ\t\t\t邮箱") print("-" * 40) print("%s\t\t\t%s\t\t\t%s\t\t\t%s" % ( card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"])) print("-" * 40) # 针对找到的字典进行后续操作:修改/删除 deal_card(card_dict) break else: print("没有找到 %s" % find_name) # 3. 搜索到指定的名片后,再执行后续的操作def deal_card(find_dict): """操作搜索到的名片字典 :param find_dict:找到的名片字典 """ # print(find_dict) action_str = input("请选择要执行的操作 " "[1] 修改 [2] 删除 [0] 返回上级菜单") if action_str == "1": # if action == "1": find_dict["name"] = input_card_info(find_dict["name"],"请输入姓名:") find_dict["phone"] = input_card_info(find_dict["phone"],"请输入电话:") find_dict["qq"] = input_card_info(find_dict["qq"],"请输入QQ:") find_dict["email"] = input_card_info(find_dict["email"],"请输入邮件:") print("%s 的名片修改成功" % find_dict["name"]) # print("修改") elif action_str == "2": # print("删除") card_list.remove(find_dict) print("删除成功")def input_card_info(dict_value, tip_message): """输入名片信息 :param dict_value: 字典原有值 :param tip_message: 输入提示信息 :return: 如果输入,返回输入内容,否则返回字典原有值 """ # 1. 提示用户输入内容 result_str = input(tip_message) # 2. 针对用户的输入进行判断,如果用户输入了内容,直接返回结果 if len(result_str) > 0: return result_str # 3. 如果用户没有输入内容,返回 `字典中原有的值` else: return dict_value
转载地址:http://vjmh.baihongyu.com/