1. 系统需求
- 1.程序启动, 显示名片管理系统欢迎界面, 并显示功能菜单
- 2.用户用数字选择不同的功能
- 3.根据功能选择, 执行不能的功能
- 4.用户名片需要记录用户的 姓名 , 电话 , QQ ,邮件
- 5.如果查询到指定的名片, 用户可以选择 修改 或者 删除 名片
步骤
- 框架搭建
- 新增名片
- 显示所有名片
- 查询名片
- 查询成功后修改, 删除名片
- 让 Python 程序能够直接运行
2. 框架搭建
目标
- 搭建名片管理系统 框架结构
- 准备文件, 确定文件名, 保证能够 在需要的位置 编写代码
- 编写 主运行循环, 实现基本的 用户输入和判断
2.1 文件准备
1. 新建 cards_main.py 保存 主程序功能代码
- 程序的入口
2. 新建 cards_tools.py 保存 所有名片功能函数
- 将对名片的 新增, 查询, 修改, 删除 等功能封装在不同的函数中
2.2 编写主运行循环
- 在 cards_main 中添加一个 无限循环
while True:
# 显示功能菜单
action = input("请选择希望执行的操作: ")
print("您选择的操作是 %s" % action_str)
# 根据用户输入决定后续的操作
if action in ["1", "2", "3"]:
pass
# 0 退出系统
elif action == "0":
print("欢迎再次使用【名片管理系统】")
break
# 如果在开发程序时, 不希望立刻写分支内部的代码
# 可以使用 pass 关键字, 表示一个占位符, 能够保证程序的代码结构正确!
# 程序运行时, pass 关键字不会执行任何的操作!
# pass
# 其他内容输入错误, 需要提示用户
else:
print("您输入的不正确, 请重新选择")
字符串判断
if action in ["1", "2", "3"]
if action == "1" or action == "2" or action == "3"
1. 使用 in 针对 列表 判断, 避免使用 or 拼接复杂的逻辑条件
2. 没有使用 int 转换用户输入, 可以避免 一旦用户输入的不是数字, 导致程序运行出错
pass
- pass 就是一个空语句, 不做任何事情, 一般用做占位语句
- 是为了保持程序结构的完整性
无限循环
- 在开发软件时, 如果 不希望程序执行后 立即退出
- 可以在程序中增加一个 无限循环
- 用用户来决定 退出程序的时机
TODO 注释
- 在 # 后跟上 TODO , 用于标记需要去做的工作,
- 简单说 : 就是这个地方要写功能代码, 还没写, 做一个标记, 写完了在把 TODO注释 去掉
# TODO (作者 / 邮件) 显示系统菜单
- 在 PyCharm 左下角可以查找到哪些地方做过 TODO 注释 ,然后点击跳转, 就可以直接开始写代码了
3. 保存名片数据的结构
程序就是用来处理数据的, 而变量就是用来存储数据的
- 使用 字典 记录 每一张名片 的详细信息
- 使用 列表 统一记录所有的 名片字典
定义名片列表变量
- 在 cards_tools 文件的顶部增加一个 列表变量
# 记录所有名片的列表
card_list = []
注意 :
- 所有名片相关操作, 都需要使用这个列表, 所以应该 定义在程序的顶部
- 程序刚运行时, 没有数据, 所以是 空列表