文章目录
0.系统需求
- 程序启动,显示名片管理系统欢迎界面,并显示功能菜单
- 用户用数字选择不同功能
- 根据功能选择,执行不同的功能
- 用户名片需要记录用户的姓名、电话、QQ、邮箱
- 如果查询到指定的名片,用户可以选择 修改或 删除名片
1.步骤
- 框架搭建
- 新增名片
- 显示所有名片
- 查询名片
- 查询成功后修改,删除名片
- 让Python 程序能够直接运行
1.1框架搭建
目标
- 搭建名片管理系统 框架结构
- 准备文件,确定文件名,保证能够 在需要的位置 编写代码
- 编写 主运行循环,实现基本的 用户输入和判断
1.1.1 文件准备
由两个文件组成:
- 新建
cards_main.py
保存 主程序功能代码- 程序的入口
- 每一次启动名片管理系统都通过
main
这个文件启动
- 新建
cards_tools.py
保存 所有名片功能函数- 将对名片的 新增、查询、修改、删除 等功能封装在不同的函数中
步骤:在Spyder中点击Project,新建项目,然后new两个file。
1.1.2 编写主运行循环
- 在
cards_main
中添加一个 无限循环
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":
- 使用
in
针对 列表 判断,避免使用or
拼接复杂的逻辑条件 - 没有使用
int
转换用户输入,可以避免 一旦用户输入的不是数字,导致程序运行出错
pass
pass
就是一个空语句,不做任何事情,一般用做占位语句- 是为了保持程序结构的完整性
无限循环
- 在开发软件时,如果 不希望程序执行后 立即退出
- 可以在程序中增加一个 无限循环
- 由用户来决定 退出程序的时机
TODO 注释
- 在
#
后跟上TODO
,用于标记需要去做的工作
# TODO(作者/邮件) 显示系统菜单
1.1.3 在 cards_tools
中增加四个新函数
def show_menu():
"""显示菜单
"""
pass
def new_card():
"""新建名片
"""
print("-" * 50)
print("功能:新建名片")
def show_all():
"""显示全部
"""
print("-" * 50)
print("功能:显示全部")
def search_card():
"""搜索名片
"""
print("-" * 50)
print("功能:搜索名片")
1.1.4 导入模块
- 在
cards_main.py
中使用import
导入cards_tools
模块
import cards_tools
- 修改
while
循环的代码如下:
import cards_tools
while True:
cards_tools.show_menu()
action = input("请选择操作功能:")
print("您选择的操作是:%s" % action)
# 根据用户输入决定后续的操作
if action in ["1", "2", "3"]:
if action == "1"