需求
- 程序启动,显示欢迎界面和功能菜单
- 以数字选择不同功能
- 根据选择,执行不同功能
- 名片需要记录用户:姓名、电话、qq、邮箱
- 查询指定的名片,用户可选择删除或修改
- 使Python程序直接能运行
显示界面如下图:
搭建框架
目标: 1、准备文件,创建文件名;2、编写主循环,实现基本的用户输入、判断
步骤:
1、 新建cards_main.py文件,保存主程序功能代码
2、 新建cards_tools.py文件,保存功能函数代码 3、 用户输入判断
action_str = input("请选择操作:")
print("选择是【%s】" % action_str)
if action_str in ["1","2","3"]:
pass
elif action_str == "0":
pass
else:
print("输入错误,重选")
执行: 报错处理:不是期望的值,可能代码错误,但是代码并没错误 解决:原来,以这种形式执行,需要声明运行环境,否则,它会以默认环境运行,不匹配Python3的代码。
4、 保证无限循环(必须对齐)
while True:
action_str = input("请选择操作:")
print("选择是【%s】" % action_str)
if action_str in ["1","2","3"]:
pass
elif action_str == "0":
print("欢迎下次使用")
break
else:
print("输入错误,重选")
验证: 5、判断用户操作,预留代码位置
增加代码:
while True:
action_str = input("请选择操作:")
print("选择是【%s】" % action_str)
if action_str in ["1","2","3"]:
if action_str == "1":
pass
elif action_str == "2":
pass
elif action_str == "3":
pass
elif action_str == "0":
print("欢迎下次使用")
break
else:
print("输入错误,重选")
执行代码:和之前一样,只不过断点调试,可以看到代码会跳到不同位置。
6、显示欢迎界面
创建cards_tools.py文件 添加以下函数代码:
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片系统】V 9.9")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print("")
print("0.退出系统")
print("*" * 50)
编辑主程序文件:添加绿色区域,两行代码 vim cards_main.py
import cards_tools
while True:
cards_tools.show_menu()
action_str = input("请选择操作:")
print("选择是【%s】" % action_str)
if action_str in ["1","2","3"]:
if action_str == "1":
pass
elif action_str == "2":
pass
elif action_str == "3":
pass
elif action_str == "0":
print("欢迎下次使用")
break
else:
print("输入错误,重选")
验证: 7、准备名片操作函数并修改主文件调用函数 vim cards_tools.py 新增三种函数
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片系统】V 9.9")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print("")
print("0.退出系统")
print("*" * 50)
def new_card():
"""新增名片"""
print("-" * 50)
print("新增名片")
def show_all():
"""显示全部"""
print("-" * 50)
print("显示全部")
def search_card():
"""搜索名片"""
print("-" * 50)
print("搜索名片")
vim cards_main.py
import cards_tools
while True:
cards_tools.show_menu()
action_str = input("请选择操作:")
print("选择是【%s】" % action_str)
if action_str in ["1","2","3"]:
if action_str == "1":
cards_tools.new_card()
elif action_str == "2":
cards_tools.show_all()
elif action_str == "3":
cards_tools.search_card()
elif action_str == "0":
print("欢迎下次使用")
break
else:
print("输入错误,重选")
验证:
保存数据的结构
分析:使用字典记录每张名片的详细信息;列表统一记录所有名片字典
vim cards_tools.py 添加一行代码即可
定义功能
1、 新增名片功能 vim cards_tools.py
def show_menu():
"""显示菜单"""
print("*" * 50)
print("欢迎使用【名片系统】V 9.9")
print("")
print("1.新增名片")
print("2.显示全部")
print("3.搜索名片")
print("")
print("0.退出系统")
print("*" * 50)
def new_card():
"""新增名片"""
print("-" * 50)
print("新增名片")
name = input("请输入姓名:")
phone = input("请输入电话:")
qq = input("请输入QQ:")
email = input("请输入邮箱:")
card_dict = {"name": name,
"phone": phone,
"qq": qq,
"email": email}
card_list.append(card_dict)
print(card_list)
print("添加 %s 的名片成功!" % name)
def show_all():
"""显示全部"""
print("-" * 50)
print("显示全部")
def search_card():
"""搜索名片"""
print("-" * 50)
print("搜索名片")
验证: 2、代码优化(字典中键与值名称,相同不好区分,我们给值的变量后加str)
3、 显示全部 vim cards_tools.py 验证: 4、判断是否存在名片记录,没有,提示用户并返回 vim cards_tools.py
验证: 5、查询名片功能实现
验证: 6、准备处理名片函数(定义处理函数) 7、增加分支判断用户操作类型 验证: 8、删除名片
验证: 9、修改名片 验证: 10、优化修改名片功能,添加“回车不修改功能”
验证: 11、增加注释
总结
1.注意格式必须正确 2.适当增加注释,利于优化与排错 3.全部代码上传到了CSDNPython名片管理系统代码
|