一、成果示例
新建,显示全部
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b988ca71c960a7d14542a250c7fff4c5.png)
查询、修改与删除
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/212d50820d50e8389b93a1545506cd06.png)
展示所有、退出
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f8d389e8acea7bcd0c5bce06e0bd3f9e.png)
二、演练目标
- 新建名片
- 删除名片
- 修改名片
- 查询名片
三、实现步骤
1>框架搭建
- 准备文件,确定文件名,保证能够在需要的位置编写代码
- 编写主运行循环,实现基本的用户输入和判断
1.准备两个文件
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0e26d25838e2690b007204d59411f0aa.png)
- 其中,main文件保存主程序功能代码,它是程序的入口
- 编写主运行循环,实现基本的用户输入和判断
- tools文件保存所有功能函数,将CRUD功能封装到不同的函数中
2.编写主运行循环,实现基本的用户输入和判断。
- 不需要立刻编写的代码,使用pass关键字跳过。pass可以保证程序结构的完整性。
- 用户的输入如果转成int,程序很容易报错,所以保持字符串类型就好。
- main:
while 1:
operate_str = input("请选择操作功能")
print("您选择的操作是【%s】" % operate_str)
if operate_str == "0":
print("感谢您的使用,祝您生活愉快")
break
elif operate_str == "1":
pass
elif operate_str == "2":
pass
elif operate_str == "3":
pass
else:
print("输入错误,请重新输入")
continue
TODO注释:
- 用于提示下一步工作
![](https://i-blog.csdnimg.cn/blog_migrate/e3a1bebbc8de0ba48357b82dc3570fc4.png)
- 多人同时编写
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9f13ce12fc2bd024b42fbb9f4326aafe.png)
3.在tools文件中写入展示主菜单代码,并在main文件中导入模块,使用函数
def show_menu():
"展示名片管理系统主菜单"
print('*' * 50)
print("欢迎使用【名片管理系统】")
print("1. 新建名片")
print("2. 显示全部")
print("3. 查询名片")
print("")
print("0. 退出系统")
print('*' * 50)
- main:
注意划红线的代码
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/816eb9dd7c6bb91dac73844721cc28d4.png)
4.在tools中写入1、2、3对应功能函数,并在主函数进行调用。
def create_card():
"新增名片"
print("-"*50)
print("新增名片")
def show_total():
"显示所有名片"
print("-"*50)
print("显示所有名片")
def select_card():
"查看名片"
print("-"*50)
print("查看名片")
- main中的pass改为调用函数
- 至此,main文件编写完毕
5.定义存储容器
- 每个人的名片,用字典
- 所有名片,用列表
- 在tools顶端增加 cards_list = []
6.新增名片功能
- 要有一个字典,装用户名片
- 提示用户输入
- 将这个字典写入列表
- 提示成功
def create_card():
"新增名片"
print("-"*50)
print("新增名片")
name_value = input("请输入姓名: ")
tel_value = input("请输入电话: ")
qq_value = input("请输入QQ号码: ")
email_value = input("请输入电子邮箱: ")
card_dict = {
"name": name_value,
"tel": tel_value,
"qq": qq_value,
"email": email_value
}
cards_list.append(card_dict