目标
综合应用已经学习过的知识点:
-
变量
-
流程控制
-
函数
-
模块
开发 名片管理系统
|
|
|
|
目标
-
搭建名片管理系统 框架结构
-
准备文件,确定文件名,保证能够 在需要的位置 编写代码
-
编写 主运行循环,实现基本的 用户输入和判断
-
|
新建
|
||
|
while True: # TODO(小明) 显示系统菜单 action = input("请选择操作功能:") print("您选择的操作是:%s" % action) # 根据用户输入决定后续的操作 if action in ["1", "2", "3"]: pass elif action == "0": print("欢迎再次使用【名片管理系统】") break else: print("输入错误,请重新输入") if action in ["1", "2", "3"]: if action == "1" or action == "2" or action == "3":
# TODO(作者/邮件) 显示系统菜单 |
|
def show_menu(): """显示菜单 """ pass def new_card(): """新建名片 """ print("-" * 50) print("功能:新建名片") def show_all(): """显示全部 """ print("-" * 50) print("功能:显示全部") def search_card(): """搜索名片 """ print("-" * 50) print("功能:搜索名片") |
|
import cards_tools
import cards_tools while True: cards_tools.show_menu() action = input("请选择操作功能:") print("您选择的操作是:%s" % action) # 根据用户输入决定后续的操作 if action in ["1", "2", "3"]: if action == "1": cards_tools.new_card() elif action == "2": cards_tools.show_all() elif action == "3": cards_tools.search_card() elif action == "0": print("欢迎再次使用【名片管理系统】") break else: print("输入错误,请重新输入:")
|
|
def show_menu(): """显示菜单 """ print("*" * 50) print("欢迎使用【菜单管理系统】V1.0") print("") print("1. 新建名片") print("2. 显示全部") print("3. 查询名片") print("") print("0. 退出系统") print("*" * 50) |
程序就是用来处理数据的,而变量就是用来存储数据的
-
使用 字典 记录 每一张名片 的详细信息
-
使用 列表 统一记录所有的 名片字典
# 所有名片记录的列表 card_list = []
注意
-
所有名片相关操作,都需要使用这个列表,所以应该 定义在程序的顶部
-
程序刚运行时,没有数据,所以是 空列表
|
|
|
def new_card(): """新建名片 """ print("-" * 50) print("功能:新建名片") # 1. 提示用户输入名片信息 name = input("请输入姓名:") phone = input("请输入电话:") qq = input("请输入 QQ 号码:") email = input("请输入邮箱:") # 2. 将用户信息保存到一个字典 card_dict = {"name": name, "phone": phone, "qq": qq, "email": email} # 3. 将用户字典添加到名片列表 card_list.append(card_dict) print(card_list) # 4. 提示添加成功信息 print("成功添加 %s 的名片" % card_dict["name"])
|
|
|
|
|
循环遍历名片列表,顺序显示每一个字典的信息 |
def show_all(): """显示全部 """ print("-" * 50) print("功能:显示全部") for card_dict in card_list: print(card_dict) 显示效果不好! |
def show_all(): """显示全部 """ print("-" * 50) print("功能:显示全部") # 打印表头 for name in ["姓名", "电话", "QQ", "邮箱"]: print(name, end=" ") print("") # 打印分隔线 print("=" * 50) for card_dict in card_list: print("%s %s %s %s" % (card_dict["name"], card_dict["phone"], card_dict["qq"], card_dict["email"])) |
def show_all(): """显示全部 """ print("-" * 50) print("功能:显示全部") # 1. 判断是否有名片记录 if len(card_list) == 0: print("提示:没有任何名片记录") return 注意
|
|
|
||||
|
|
|
elif action == "2": card_list.remove(find_dict) print("删除成功") |
||
|
if action == "1": find_dict["name"] = input("请输入姓名:") find_dict["phone"] = input("请输入电话:") find_dict["qq"] = input("请输入QQ:") find_dict["email"] = input("请输入邮件:") print("%s 的名片修改成功" % find_dict["name"])
|
-
-
Shebang
通常在Unix
系统脚本的中 第一行开头 使用 -
指明 执行这个脚本文件 的
$ which python3
#! /usr/bin/python3
$ chmod +x cards_main.py
4. 在需要时执行程序即可
./cards_main.py