主体框架搭建
- 无限循环,while True:
- 接收用户的输入
- 根据输入,会进入到不同的分支中
- 退出循环 的分支
数据结构
列表包字典
欢迎菜单
多个打印语句,构成了欢迎菜单
新建名片
- 接收用户输入的数据,
input()
- 将输入的数据构建为一个字典
- 列表中添加该字典。列表的append方法
查看全部名片
流程步骤
- 拿到数据容器,它的结构是:列表包字典
- 打印输出表头
- 分析目标:
- 每一行显示一个名片的数据
- 处理一行的数据顺序。 姓名第一,电话第二,扣扣第三,邮箱第四,格式化输出
- 遍历数据容器,获取到每一个名片的字典
- 拿到了名片字典,就可以提取里面的数据了,通过字典的键来取值
- 遍历列表所做的事情:依次获取列表中的成员
查询名片
提示用户
输入一个姓名 search_name = input()
根据这个姓名,依次到名片字典中进行比对
依次拿到每一个字典 for 变量 in 数据容器
得到第一个名片字典,就与search_name比一下,看字典中的name键的值 与它是否一致
变量['name'] == search_name
得到第二个名片字典,就与search_name比一下,看字典中的name键的值 与它是否一致
if 比较的结果是一致的:
我们就展示这个用户的信息
如果查询过了所有的数据都没有找到
提示用户,没有找到
如果,有这个姓名存在,那么显示这个用户的信息
如果没有,提示用户,没有找到
如果搜索成功
新的功能
输出这个用户的信息
1,打印表头
2,打印名片的数据
- 接收一个搜索的词
- 依次获取数据容器中的每一个名片字典
- 判断用户是否存在,通过名片字典[键],也就是
名片字典['name']
与搜索词是否相等
…
回顾
搜索词
名片字典。拿着搜索的这个词与每一个名片字典中的名字,进行比对
名片字典是包在列表中的
对列表进行遍历,可以依次获得我们想要的名片字典
名片字典会一个一个的被展示出来,被遍历出来
我们就在遍历的循环中,进行名片字典的操作
1,每一次遍历,拿到的是一个名片字典
2,在当前的遍历没有结束之前,没有走到下级底部之前,我们操作的名片字典,都是不变。
3,可以直接在当前的循环对字典进行操作
字典【‘name’】 与 搜索词,进行一个是否相等的判断
如果相等,表示找到了
找到了,就展示出来
如果找到了,还要对当前的这个数据字典,进行
1,编辑数据,修改字典
2,删除数据,从数据容器中,把字典删掉
否则,就表示没有找到,对于一个字典而言,没有找到,没有仍何操作。
考虑使用单路分支
只有所有的名片字典都翻遍了,都没有找到地,才会有提示
分支的情况复习
分支分三种
1,单路分支 if…
2,二路分支 if… else…
3,多路分支 if … elif…else…