内容正文:
1.2 记录我的美食
用代码开启你的美食日记
川教版 · 初中信息科技 · 七年级下册
1.7.2013
‹#›
课程目标与学习任务
01. 使用变量
像给美食贴标签一样,用变量记录菜名和评分,让计算机帮我们记住关键信息。
02. 使用列表
把喜欢的美食汇总,创建专属美食清单,轻松管理一系列相关的美食数据。
03. 使用字典
为每道美食建立“档案”,详细描述它的色、香、味等特征,让信息更丰富立体。
04. 综合应用
把前面的知识结合起来,亲手编写一个简单的美食日记程序,完成从0到1的创作。
为什么这很重要?
这不仅是记录美食,更是学习用计算机思维组织信息。无论是整理资料还是解决复杂问题,这种逻辑管理能力都是未来工作与学习的核心基石。
生活化的趣味类比
就像整理房间:用不同的箱子(变量)装东西,同类物品放进收纳盒(列表),再给盒子贴上说明标签(字典)。写代码,就是在用数字世界的“收纳术”管理信息。
现在,请你思考一下
如果让你手写一份“一周美食日记”,你会记录哪些内容?菜名、口味、评分,还是就餐地点?试着在脑海中勾勒这份日记的样子。
1.7.2013
‹#›
课程目录
01. 准备工作
熟悉编程环境的基本界面与操作,掌握代码编辑器的使用技巧,为后续的美食编程之旅做好充分准备。
02. 编程基础核心
编写第一个程序向美食世界问好,学习用变量记录美食信息,掌握变量命名规则与赋值方法。
深入了解字符串、数字、布尔等基础数据类型,学习不同类型间的转换技巧,夯实编程根基。
03. 列表的应用
创建专属美食愿望清单,掌握列表的增、删、改、查核心操作,学会遍历列表来批量处理美食数据。
04. 字典的应用
为美食建立包含名称、口味、价格的详细档案,熟练运用字典的键值对结构,实现复杂信息的管理。
05. 综合与文件操作
整合所学知识创建美食日记列表,并学习文件读写操作,将珍贵的美食记录永久保存到本地文件中。
1.7.2013
‹#›
准备工作 - 认识我们的编程环境
这是 Mu Editor 的操作界面,简洁直观,专为初学者设计。你可以清晰地看到代码编辑区、菜单栏和常用的功能按钮,是我们编写 Python 代码的好帮手。
核心工具:Python 与编辑器
Python 是我们和电脑对话的语言,而 Mu Editor 就像一个超级智能的笔记本,帮助我们写下代码、记录想法,让编程变得简单有趣。
为什么要熟悉环境?
就像画家需要趁手的画笔,熟悉编程环境是学习的第一步。它能帮我们轻松地编写、运行和调试代码,让我们的创作之旅更加顺畅高效。
趣味类比:编程“厨房”
编辑器是操作台,Python 是食谱和技巧,电脑是炉灶。我们要在这个“厨房”里,运用所学,烹饪出一道道美味的“程序佳肴”。
课堂互动:请启动Mu Editor,观察界面按钮,猜猜那个绿色的三角形“运行”按钮有什么作用?
1.7.2013
‹#›
第一个程序 - 向美食世界问好
01. 核心概念:输出信息
print() 是 Python 最基础的函数,作用是将括号内的内容显示在屏幕上,是程序与我们对话的窗口。
# 开启美食日记的代码
print("我的美食日记")
print("Hello, Food World!")
02. 它为什么重要?
它是调试程序的利器,能帮我们看到程序的运行状态和计算结果;也是给用户反馈信息的最直接方式。
生活中的类比:
就像家里的打印机,你在电脑写好内容(代码),点击打印,它就把文字呈现在纸上(屏幕)。
03. 动手试一试!
请修改代码,让电脑“说出”你最喜欢的一道菜名。
示例:
print("我最喜欢的菜是:麻婆豆腐")
运行代码,看看屏幕上出现了什么?
💡 关键小结:print() 函数是 Python 的“嘴巴”,让程序能够把信息传递给我们。无论是简单的文字,还是复杂的计算结果,都可以用它来展示。
1.7.2013
‹#›
用变量记录美食 - 什么是变量?
生活化理解
变量就像贴了标签的储物盒。标签是变量名,盒子里装的物品(如100元、菜名)就是变量的值。
变量是什么?
变量是存储数据的容器。在Python中,我们用等号“=”来给变量赋值,可以存放数字、文字等各类信息。
为什么需要变量?
变量是程序的基石。没有变量,程序就像没有记忆的人,无法存储和反复使用数据,也无法处理复杂的逻辑。
▍Python 代码示例
# 存储美食与评分
favorite_food="麻婆豆腐"
food_rating=9.5
print("最爱美食:", favorite_food)
动手试一试
创建变量 my_name 和 age 存储你的信息,并用 print() 像示例一样把它们介绍给大家吧!
1.7.2013
‹#›
变量的命名规则
核心规则要点
01. 字符限制:只能包含字母(a-z/A-Z)、数字(0-9)和下划线(_),禁止空格或特殊符号。
02. 开头限制:首字符不能是数字,必须以字母或下划线开头。
03. 避开关键字:严禁使用Python保留字,如 print、if、for、else 等。
04. 大小写敏感:Food 和 food 会被程序识别为两个完全不同的变量。
05. 见名知意:拒绝 a/b/c 等无意义命名,用描述性词汇提升可读性。
代码实战示例
# ✅ 推荐写法:规范且易读
user_name = "小明"
food_price = 25
is_delicious = True
# ❌ 错误示范:切勿模仿
# 2food = "鱼香肉丝" # 数字开头
# my food = "鸡丁" # 包含空格
# print = "水煮鱼" # 占用关键字
趣味生活类比
给变量命名就像给宠物取名。叫“旺财”大家都懂,但如果取名“#¥%”,别人就完全无法理解它的含义,代码也是同理。
互动:合法吗?
判断:studentName(✅)、123class(❌)、class_grade(✅)、my-food(❌)、if(❌)。思考下为什么?
1.7.2013
‹#›
数据类型 - 字符串 (String)
💡 生活化理解:珍珠项链
每一个字符(字母、数字、符号)都是一颗独立的珍珠,用引号把它们“串”起来,就形成了一条完整的项链——也就是我们的字符串啦!
字符串是编程中表示文本信息的基础数据类型。在Python里,只需用单引号'或双引号"将文字包裹,就能告诉计算机:“这是一段文本内容!”
dish_name="麻婆豆腐"
desc="麻辣鲜香,川菜经典!"
full_text=dish_name+" —— "+desc
print(full_text) # 输出:麻婆豆腐 —— 麻辣鲜香,川菜经典!
无处不在的文本
从显示菜单、记录用户评论,到处理各类文档,所有文字信息的处理都离不开字符串。
动手试一试
定义变量存储你最爱的餐厅和菜品,用“+”拼接,打印出完整的推荐句子吧!
1.7.2013
‹#›
数据类型 - 数字 (Number)
生活化理解
数字类型就像数学课上的数字。无论是计算美食价格、统计菜品评分,还是测量面积体积,都离不开它,是程序里的“计算器”。
核心概念解析
什么是数字类型?
用于表示数值,主要分为整数(int)(如 28、15)和浮点数(float)(如 9.5、8.8),支持直接进行加减乘除等数学运算。
为什么重要?
它是处理价格、数量、评分、测量值等数值信息的基础。在编程中,所有需要计算的场景,几乎都要用到数字类型来实现逻辑。
Python 代码示例
# 定义价格和评分
price1, price2 = 28, 15
rating1, rating2 = 9.5, 8.8
# 计算总价与平均分
total = price1 + price2
avg_rating = (rating1 + rating2) / 2
print("总价:", total, "元")
print("平均分:", avg_rating)
小试牛刀
一碗面12元,一个煎蛋3.5元。请用变量计算并打印出“一碗加蛋面的总价是多少元?”
1.7.2013
‹#›
数据类型 - 布尔 (Boolean)
小试牛刀:汉堡美味吗?
创建布尔变量 is_delicious,赋值 True/False,并用 if-else 语句让程序说出你的评价。
非真即假的“判断题”
布尔类型是计算机逻辑的基础,它只有两个取值:True (真)和False (假),专门用于处理条件判断,决定程序的执行路径。
is_spicy= True # 判断是否辣
is_vegetarian= False # 判断是否素食
ifis_spicy: print("小心,这道菜很辣!")# 条件成立时执行
像“开关”一样简单
就像控制电路的开关,布尔值控制程序的流程走向:开(True)执行A,关(False)执行B。
决策的基石
从登录验证到游戏胜负判定,所有需要“做决定”的场景,都离不开布尔值的参与。
1.7.2013
‹#›
数据类型转换
核心定义:数据的“变身术”
Python提供了简单的内置函数,让数据可以在不同类型间转换。常用的有:str()(转字符串)、int()(转整数)、float()(转浮点数)。
关键认知:输入即字符串
用户通过键盘输入的所有信息,在程序中默认都是字符串类型。如果想进行数学计算,必须先将其转换为数字类型。
趣味类比:数据的“翻译官”
就像中文使用者(字符串)和英文使用者(数字)无法直接对话,需要转换函数作为“翻译”,才能让不同类型的数据相互理解并协作。
代码示例:菜品折扣计算
# input()获取的是字符串,需转浮点数计算
price_input = input("请输入菜品价格:")
price = float(price_input)
final_price = price * 0.8
# 计算结果需转回字符串才能拼接输出
print("折后价格是:" + str(final_price) + "元")
小试牛刀:明年你几岁?
任务:编写程序,让用户输入年龄(如13),输出“明年你就14岁了”。
提示:记得用 int() 把输入的字符串转换成整数哦!
1.7.2013
‹#›
列表的应用
从“单个美食”到“美食清单”
我们已经学会了用变量记录一道美食的信息,但如果想记录一系列美食——比如一份充满期待的愿望清单,该如何高效管理呢?
答案是:使用列表!
它就像一个万能的收纳盒,能帮我们把零散的美食信息有序地组织在一起。
01. 创建清单
从零开始,定义并初始化一个空的美食列表,为记录美味做好准备。
02. 管理清单
灵活操作清单数据,轻松实现美食条目的添加、删除与内容修改。
03. 遍历清单
使用循环结构,依次访问清单中的每一项,查看或处理所有美食信息。
1.7.2013
‹#›
用列表管理美食清单 - 什么是列表?
01 / 什么是列表?
列表(List)是有序的集合,用于存储多个数据项,元素可以是不同类型。在Python中用方括号[ ]表示,元素之间用逗号 , 分隔,就像一个收纳盒,能把零散的信息规整在一起。
02 / 生活中的“列表”
就像一张手写的购物清单,上面列着苹果、牛奶、面包。无论是管理班级名单、购物车商品,还是记录美食日记,列表都能帮我们有序存储、轻松管理成组的信息。
动手试一试:创建名为 my_favorite_foods 的列表,存入至少3种你喜欢的食物,并用 print() 把它打印出来吧!
# 用列表存储美食愿望清单
wish_list= ["北京烤鸭", "兰州拉面", "四川火锅", ...]
print("我的美食愿望清单:")
print(wish_list)
1.7.2013
‹#›
访问列表中的元素
什么是索引 (Index)?
列表中每个元素都有唯一编号,称为索引。Python 中索引从0开始计数,通过列表名[索引]即可精准访问对应元素。
就像电影院的座位号
索引就如同电影票上的座位编号,每个编号对应唯一的座位。只要拿着“票”(索引),就能快速找到对应的“座位”(元素)。
索引是处理列表数据的基石。无论是查找学生名单中的第N位同学,还是提取数据中的特定信息,都离不开对索引的灵活运用。
Python 代码演示:food_list.py
wish_list= ["烤鸭", "拉面", "火锅", "肠粉", "大盘鸡"]
# 索引0: 取第一个元素
print(wish_list[0]) # 输出: 烤鸭
# 索引-1: 取最后一个元素(Python 特有技巧)
print(wish_list[-1]) # 输出: 大盘鸡
课堂挑战:动手试一试
基于你创建的 `my_favorite_foods` 列表,尝试用索引访问并打印出:列表中的第二个元素,以及倒数第二个元素。
1.7.2013
‹#›
修改列表中的元素
核心概念:列表是“可变”的,通过索引定位元素,使用赋值符号“=”即可轻松更新内容,无需重建整个列表,让数据管理更高效。
📝 代码实战:更新美食清单
wish_list = ["烤鸭", "拉面", "火锅"]
# 替换索引1的元素为刀削面
wish_list[1] = "刀削面"
print("更新后:", wish_list)
💡 关键点:直接通过索引赋值,一步到位。
🛒 生活中的类比
就像修改手写的购物清单:原本计划买“苹果”,后来想吃橙子,你只需要划掉“苹果”,在原位置写上“橙子”即可,完全不需要重新抄写一整页清单,既省时又省力。
🌟 为什么要修改列表?
现实世界的数据总是动态变化的,我们的计划和喜好也是如此。列表的可变性让我们能灵活地更新数据,不仅节省了系统内存空间,也让程序逻辑能完美贴合真实场景的需求。
🤔 动手试一试!
创建列表 my_favorite_foods,把第一个元素修改为你今天早餐吃的食物,然后使用 print() 函数将修改后的列表打印出来,检查结果是否符合预期。
1.7.2013
‹#›
向列表添加元素
Python 中,我们可以使用append()方法在列表的末尾添加一个新元素。这是列表操作中最基础、最常用的方法之一。
wish_list= ["北京烤鸭", "兰州拉面", "四川火锅"]
# 我又想吃麻婆豆腐了,把它加到清单末尾
wish_list.append("麻婆豆腐")
# 输出: ['北京烤鸭', '兰州拉面', '四川火锅', '麻婆豆腐']
像搭积木一样扩展列表
append() 方法就像在购物清单的最后一行继续书写。无论列表原来有多长,新元素永远排在队伍的最后,保持了添加的顺序性。
核心用途
常用于动态收集数据,如记录日志、存储用户输入、累积计算结果等场景。
生活场景
就像写日记,每天的新鲜事都记在最后一页;或者超市购物,想起什么就补在清单末尾。
动手试一试
创建 my_favorite_foods 列表,用 append() 添加一种新美食,然后打印出来看看效果。
1.7.2013
‹#›
从列表删除元素
在 Python 中,我们可以使用remove()方法来删除列表中第一个匹配指定值的元素。这是一种根据元素内容而非索引位置进行删除的常用方式。
wish_list = ["北京烤鸭", "兰州拉面", "四川火锅", "麻婆豆腐"]
print("删除前:", wish_list) # 输出: ['北京烤鸭', '兰州拉面', '四川火锅', '麻婆豆腐']
wish_list.remove("兰州拉面") # 删除指定元素
print("删除后:", wish_list) # 输出: ['北京烤鸭', '四川火锅', '麻婆豆腐']
精准定位删除
只需传入要删除的“值”,Python 会自动找到列表中第一个匹配项并移除。如果元素不存在,程序会报错哦。
数据管理关键
及时清理无效或过期数据,保持列表整洁,是高效管理数据的必要步骤。
像划掉购物清单
就像在购物清单上划掉已经买好的商品,remove() 帮我们标记任务完成并移除。
动手试一试
创建一个美食列表,用 remove() 删除你最不喜欢的食物,看看列表发生了什么变化。
1.7.2013
‹#›
获取列表的长度
什么是 len() 函数?
在Python中,我们可以使用内置的 len() 函数快速获取列表中元素的个数,也就是列表的长度,无需手动逐个计数。
# 1. 定义一个美食愿望清单列表
wish_list = ["北京烤鸭", "四川火锅", "麻婆豆腐"]
# 2. 使用 len() 函数获取列表长度
list_length = len(wish_list)
# 3. 打印结果,输出:我的美食愿望清单里一共有 3 种美食。
print("我的美食愿望清单里一共有", list_length, "种美食。")
💡 提示:len() 函数不仅适用于列表,还可以用于字符串、元组、字典等其他可迭代的数据类型。
数据处理的“度量尺”
它能帮我们快速统计集合中的元素数量,比如班级学生人数、检查购物车是否为空,是数据处理中最常用的基础函数之一。
就像数购物清单上的物品
假设你列了一张购物清单,从头数到尾发现有5样东西,这个数字5就是清单的“长度”。len() 函数就是帮我们自动完成这个“数数”过程的工具。
动手试一试
现在,请你创建一个 my_favorite_foods 列表,放入你喜欢的美食,然后使用 len() 函数计算并打印出列表里一共有多少种美食。
1.7.2013
‹#›
遍历列表 - 循环介绍
什么是遍历 (Traversal)?
指依次访问列表中的每一个元素。在Python中,我们通常使用`for` 循环来高效实现这一过程,替代重复的手动操作。
代码演示:打印美食愿望清单
wish_list = ["北京烤鸭", "四川火锅", "麻婆豆腐"]
print("我想吃的美食有:")
# 用for循环依次取出每个元素
for food in wish_list:
print("- " + food)
动手试一试:
请用 `for` 循环遍历你的 `my_favorite_foods` 列表,按“我喜欢吃:[美食名称]”的格式打印出来吧。
生活化理解:购物清单
`for` 循环就像拿着购物清单去超市。你对清单上的每一项 (`for item in list`),都执行“找到它 → 放进购物车”的操作,直到把清单上的所有东西都买完,流程才结束。
为什么要用循环?
循环是编程的核心。当需要对一组数据执行相同操作时,它能帮我们避免重复写代码,不仅让程序更简洁,还能处理任意长度的列表,极大提升效率。
💡 核心逻辑:
把要重复的动作写在循环体内,程序就会自动帮你“批量处理”列表中的每一个数据,解放双手!
1.7.2013
‹#›
列表综合练习
任务目标:打造专属美食清单
通过一个完整的实战任务,将列表创建、添加、统计与遍历的零散知识点串联,形成解决实际问题的能力。
生活化类比:烹饪完整的菜肴
这就像你学会了切菜、炒菜、调味等各种基本功后,第一次尝试独立完成一道完整的菜。综合练习是将碎片化知识转化为“成品”的关键过程。
01. 创建空列表
定义一个名为 my_food_diary 的空列表,作为记录美食的容器。
02. 添加美食项
使用 append() 方法,向列表中添加至少三种你今天享用过的食物名称。
03. 统计食物数
调用 len() 函数,计算并打印出你今天到底吃了多少种不同的食物。
04. 遍历并展示
利用 for 循环遍历整个列表,把你的今日美食日记完整地打印展示出来。
1.7.2013
‹#›
字典的应用
从美食清单到美食档案
列表能帮我们管理美食名称,却无法记录一道菜的色香味、价格、评分等多维信息。面对丰富的美食细节,我们需要更合适的工具来存储。
答案是:使用字典!
字典就像一本详细的档案册,通过“键-值”对的形式,能把美食的每一个特征都有条理地记录下来,让信息结构化、清晰化。
接下来的学习目标:我们将深入学习如何创建和使用字典,掌握它的增删改查操作,为每一道美食建立专属的、详尽的数字档案,让数据管理更加高效和专业。
1.7.2013
‹#›
用字典描述美食详情 - 什么是字典?
📖 核心定义
字典(Dictionary)是一种“键值对(key-value pair)”的无序集合,用大括号 { } 表示。每个键都对应一个值,就像给信息贴上专属标签,方便快速查找。
💻 代码示例:给“麻婆豆腐”建档
mapo_tofu = { "菜名": "麻婆豆腐", "口味": "麻辣", "评分": 9.5, "是否素食": False, "价格": 28 }
通过键名(如"口味")可直接获取对应信息,无需像列表那样通过索引猜测,结构清晰直观。
🌟 为什么选字典?
字典非常适合存储结构化的对象信息。相比列表,它通过“键”直接映射“值”,查找速度更快,且能清晰表达属性含义,是描述复杂实体的最佳选择。
🧩 生活类比 & 互动
字典就像现实中的新华字典或名片:通过“字”找“义”,通过“姓名”找“电话”。
试一试:创建一个字典,描述你最喜欢的电影,包含“片名”、“导演”、“评分”等键。
1.7.2013
‹#›
访问字典中的值
核心语法:在Python中,我们可以通过字典名[键]的方式来访问字典中对应的值。这是字典最基础、最常用的取值方法,直接通过“键”精准定位“值”。
mapo_tofu = {
"菜名": "麻婆豆腐", "口味": "麻辣",
"评分": 9.5, "价格": 28
}
# 访问'菜名'对应的值
dish_name = mapo_tofu["菜名"]
print("菜名:", dish_name) # 输出:菜名:麻婆豆腐
# 访问'评分'对应的值
dish_rating = mapo_tofu["评分"]
print("评分:", dish_rating) # 输出:评分:9.5
为什么这是核心操作?
字典的本质就是“键值对”映射,创建字典的最终目的就是通过键快速检索到我们需要的信息,这是使用字典的第一步。
生活中的“字典”
就像查电话簿:你知道一个人的名字(键),就能根据名字快速查到对应的电话号码(值),实现信息的精准匹配。
动手试一试
基于你刚才创建的电影字典,尝试使用方括号语法,打印出电影的片名和对应的评分吧。
1.7.2013
‹#›
修改字典中的值
字典和列表一样具备“可变性”。在Python中,我们只需通过字典名[键] = 新值的简单语法,就能快速更新指定键所对应的数据内容,无需重新定义整个字典。
💻 代码示例:更新麻婆豆腐的价格
mapo_tofu= { "菜名": "麻婆豆腐", "口味": "麻辣", "价格": 28 }
# 查看修改前的价格
print("修改前:", mapo_tofu["价格"]) # 输出: 28
# 执行修改操作,将价格更新为30
mapo_tofu["价格"]= 30
print("修改后:", mapo_tofu["价格"]) # 输出: 30
贴合现实变化
商品调价、信息更新是生活常态,字典的可变性让我们能高效地维护和同步这些动态数据,无需重复创建。
像更新名片一样简单
就像换了新电话,直接划掉名片上的旧号码写上新的。修改字典值也是直接定位“键”,替换成“新值”即可。
动手试一试
如果你的电影字典里有“评分”键,试着把它修改为你心中更准确的分数,然后打印出来看看结果吧。
1.7.2013
‹#›
添加新的键值对
核心语法:动态扩展数据结构
Python中,向字典添加新键值对非常简单,只需通过字典名[新键] = 新值的赋值语句,即可为字典对象新增属性,无需预先声明结构。
mapo_tofu = {
"菜名": "麻婆豆腐", "口味": "麻辣", "评分": 9.5
}
# 为字典新增“主要食材”信息
mapo_tofu["主要食材"] = "豆腐, 牛肉末"
print("添加后的字典:", mapo_tofu)
灵活的信息容器
字典无需像列表那样受限于固定的元素类型,它可以根据业务需求,随时为对象补充新的属性信息,让数据描述更完整、更贴合实际场景。
就像更新你的个人名片
这就好比你原本的名片只有电话和邮箱,后来需要增加微信公众号或个人主页,只需在对应的位置添加上去即可,字典的扩展逻辑与此完全一致。
试一试:丰富你的电影档案
在你创建的电影字典中,尝试添加一个新的键值对,比如“主演”,并填入你喜欢的演员名字,看看字典发生了什么变化。
1.7.2013
‹#›
删除键值对
当字典中的某些信息不再需要时,我们可以使用 Python 中的`del`语句,精准地删除指定的键值对,让数据保持整洁与高效。
mapo_tofu = {
"菜名": "麻婆豆腐", "口味": "麻辣", "评分": 9.5, "价格": 28
}
print("删除前:", mapo_tofu)
del mapo_tofu["价格"] # 执行删除操作
print("删除后:", mapo_tofu)
数据管理的核心动作
删除冗余信息是数据维护的关键环节。如同整理书架,移除过期的书籍能让空间更清晰。在编程中,这不仅能节省内存空间,更能避免无效数据干扰后续的逻辑判断,确保程序运行的准确性与可读性。
生活视角:断舍离
`del` 语句就像你整理房间时,将不再使用的旧物果断清理掉,让环境和数据都保持清爽有序。
动手试一试
请打开你的电影信息字典,尝试使用 `del` 语句,删除其中的“导演”这个键值对。
1.7.2013
‹#›
遍历字典的键
核心概念:我们可以使用for 循环来遍历字典。在默认情况下,for 循环遍历的是字典的“键”,而非值。这是字典遍历最基础、最常用的方式。
mapo_tofu= {
"菜名": "麻婆豆腐", "口味": "麻辣", "评分": 9.5, "价格": 28
}
# 遍历字典的键,默认即为遍历键
forkeyinmapo_tofu:
print("- " + key)
探索数据结构的“地图”
遍历键能快速掌握字典包含的属性,在面对未知结构的复杂字典数据时,这是了解数据全貌最高效的第一步。
就像查看表格的“表头”
字典的键好比表格的列标题(如姓名、年龄),在看具体数值前,先看表头就能知道这张“信息表”记录了哪些维度的内容。
动手试一试
请创建一个你喜欢的电影字典(包含电影名、导演、评分等),然后使用 for 循环遍历它,打印出所有的键。
1.7.2013
‹#›
遍历字典的键值对
代码演示:打印麻婆豆腐完整档案
mapo_tofu = {"菜名": "麻婆豆腐", "口味": "麻辣", "评分": 9.5, "价格": 28}
print("麻婆豆腐的完整档案:")
# 使用 items() 方法同时获取键和值
for key, value in mapo_tofu.items():
print(key + ": " + str(value))
核心用法
利用字典的 items() 方法,在 for 循环中一次性获取键(key)和值(value),实现对字典数据的完整访问。
最常用的遍历方式
相比只获取键或只获取值,items() 是处理字典数据的首选,它让我们能完整处理每一项数据的“标签”与“内容”。
生活化理解
就像阅读个人信息表,不仅看“姓名、年龄”这些表头(键),还会把对应的“张三、13”这些具体内容(值)一起读出来。
课堂小挑战:请尝试定义一个你喜欢的电影字典,并用 items() 方法,以“键:值”的格式,在控制台打印出电影的所有详细信息。
1.7.2013
‹#›
字典综合练习
任务目标:创建美食完整档案
本次练习将不再局限于单一的语法操作,而是通过构建一个具体的“美食档案”,将字典的各项功能串联起来,形成完整的知识闭环。
核心价值:融会贯通知识体系
通过实战将字典的创建、访问、修改与遍历等操作串联,不仅巩固基础语法,更为后续处理复杂数据结构、开发实际应用程序打下坚实的逻辑基础。
生活类比:掌握工具的综合运用
这就像你学会了相机的对焦、调光、滤镜等单一功能后,尝试组合运用这些技巧,去拍摄一张构图完美、光影动人的照片,将零散的知识点转化为实际成果。
实战演练:动手构建你的美食字典
选择一道熟悉的美食,构建包含“菜名、口味、评分、价格”的基础档案,再自定义“主要食材、推荐指数”等键,最后用 `items()` 方法完整打印这份专属档案。
1.7.2013
‹#›
章节过渡:综合应用
从单一档案,进阶到美食日记
美食不仅仅是一道菜的名字,它包含了味道、食材、制作感受等丰富信息。我们不再满足于单一的记录,而是要构建一个完整的、可扩展的美食记忆库。
回顾:我们已掌握的“利器”
我们学会了用列表来管理一系列美食的清单,也学会了用字典来精准描述每一道美食的详细档案。现在,是时候把这两个工具组合起来了。
本章节终极目标
创建一个包含多个美食字典的列表,让每一条记录都鲜活立体,构建属于你自己的个性化美食数据库。
接下来我们要做什么?
深入学习列表与字典的嵌套使用,并探索如何将这份珍贵的美食日记永久保存在文件中,让记忆永不丢失。
1.7.2013
‹#›
综合应用 - 列表与字典的结合
我们可以创建一个包含多个字典的列表,每个字典代表一道美食的详细信息。这种“列表套字典”的复合数据结构,非常适合用来管理一组结构化、有共同属性的数据集,让信息的组织和访问更加条理清晰。
# 创建美食日记列表,嵌套字典存储菜品信息
food_diary = [{"菜名": "麻婆豆腐", "口味": "麻辣", "评分": 9.5, "价格": 28},
{"菜名": "北京烤鸭", "口味": "咸香", "评分": 9.8, "价格": 168},
{"菜名": "番茄炒蛋", "口味": "酸甜", "评分": 9.0, "价格": 18}]
# 打印输出结构化的美食日记
print("我的美食日记:", food_diary)
数据结构的核心价值:
它不仅是存储数据的容器,更是现实世界信息的数字化映射。无论是学生信息管理、商品库存列表,还是复杂的系统配置,都离不开这种灵活的组合结构。
生活化类比:通讯录
通讯录本身是一个列表,里面的每一页(每一条记录)就是一个字典,包含了姓名、电话、地址等具体的键值对信息,逻辑完全一致。
动手挑战:创建你的美食日记
尝试编写代码,创建一个属于你自己的 food_diary 列表,至少包含两道你喜欢的美食,填写菜名、口味和评分信息。
1.7.2013
‹#›
循环遍历美食日记
Python 代码实现
food_diary = [
{"菜名": "麻婆豆腐", "口味": "麻辣", "评分": 9.5},
{"菜名": "北京烤鸭", "口味": "咸香", "评分": 9.8},
{"菜名": "番茄炒蛋", "口味": "酸甜", "评分": 9.0}
]
# 外层循环:遍历列表中的每个美食字典
for food in food_diary:
print("----- 美食分割线 -----")
# 内层循环:遍历字典中的键值对
for key, value in food.items():
print(key + ": " + str(value))
核心概念:嵌套循环
先通过外层 `for` 循环遍历美食日记列表中的每一个字典,再在内层嵌套一个 `for` 循环,深入遍历字典里的每一组键值对,从而完整提取数据。
生活化理解:图书馆找书
就像在图书馆找书:先在一排排书架间走动(外层循环找字典),找到目标书架后,再在书架的一层层中寻找具体的书籍(内层循环找键值对)。
核心价值:嵌套循环是处理复杂多层级数据结构的必备技能,让我们能深入数据核心,完成精细化的数据提取与处理。
动手实践:创建你自己的 `food_diary` 列表,尝试用嵌套循环格式化打印出每一道美食的详细信息吧!
1.7.2013
‹#›
文件操作 - 保存你的美食日记
程序运行时数据存于内存,结束即消失。通过 Python 的文件操作,我们能将精彩的美食记录写入硬盘文件,让这份味蕾的记忆跨越程序生命周期,实现永久珍藏。
# Python 代码示例:写入美食日记
content = "我的美食日记:麻婆豆腐 9.5分,烤鸭 9.8分
"
file =open("food_diary.txt", "w", encoding="utf-8")
file.write(content) # 写入内容
file.close() # 关闭文件,确保数据写入磁盘
核心函数
使用open()打开文件,参数 'w' 代表写入模式;配合write()方法将字符串内容持久化到硬盘文件中。
生活类比
就像把脑海里的美食回忆(内存数据)写进日记本(文件)。脑海会忘,但写在纸上的文字能长久保存,随时翻看。
动手挑战
修改代码,将你喜欢的美食写入my_food_diary.txt,运行后在电脑里找到并打开它查看结果!
1.7.2013
‹#›
文件操作 - 读取你的美食日记
我们可以使用 Python 内置的open()函数打开文件,并配合read()方法,轻松读取文件中存储的文本内容,这是获取持久化数据的核心步骤。
# 打开文件,'r' 代表读取模式,指定编码防止乱码
file = open("food_diary.txt", "r", encoding="utf-8")
# 读取文件的全部内容并赋值给变量
content = file.read()
# 操作完成后,务必关闭文件释放资源
file.close()
# 在屏幕上展示我们的美食日记
print("我的独家美食记忆:
" + content)
💡 提示:使用完文件后,一定要调用close()方法关闭文件,这是一个良好的编程习惯,能避免资源泄露。
就像翻开日记本
写日记是“写入”和“保存”,读文件就是“翻开”和“阅读”。你之前辛苦记录的美食点滴,通过代码就能随时调取查看,就像重温美好回忆一样简单。
数据处理的基石
数据持久化不仅是“存”,更在于“取”。读取文件是所有数据分析、日志监控、配置加载应用的基础。只有能把数据读回来,它才有再次利用的价值。
动手实践时刻
现在,请尝试编写代码,读取你上一步保存的my_food_diary.txt文件,并将里面记录的美食内容打印在屏幕上,看看能否成功“唤醒”你的日记。
1.7.2013
‹#›
课程总结
变量:存储美食信息
学会使用变量保存数据,掌握字符串(菜品名)、数字(评分)、布尔(是否辣)这三种最基础的编程数据类型。
列表:管理美食清单
用列表有序地管理一系列美食,熟练运用增加、删除、修改、查找和遍历等核心操作来维护我们的菜单。
字典:描述美食属性
使用键值对详细描述一道美食的丰富信息,如名称、口味、价格等,并掌握字典的各项基础操作。
综合应用:嵌套数据结构
学会创建包含字典的列表来模拟菜单数据库,并通过嵌套循环遍历复杂数据,处理更真实的业务场景。
文件操作:永久保存日记
掌握文件的打开、写入和读取方法,将我们的美食探索记录永久保存到本地文件,实现数据的持久化存储。
教学互动:回顾今天的学习内容,你觉得哪个知识点最有用?是用变量记录口味,还是用文件保存日记?和身边的同学分享一下你的想法吧。
1.7.2013
‹#›
拓展思考与课后作业
拓展思考:探索代码的更多可能
01. 动态交互:如何利用 input() 函数,让用户在程序运行时自主输入美食的名称、口味和评分,而非预先写死在代码中?
02. 数据计算:遍历美食列表,如何统计所有菜品的评分总和,并计算出平均评分,让数据更有参考价值?
03. 极值查找:如何编写逻辑,自动筛选出美食日记中评分最高的那一道菜,快速找到“心头好”?
课后作业:完善你的美食日记程序
1. 信息录入:使用 input() 函数实现交互,让用户输入至少3道美食的名称、口味描述和0-5分的评分。
2. 数据存储:将每道美食的信息封装为字典,再把所有字典存入一个列表中,结构化管理数据。
3. 成果输出:遍历列表生成格式清晰的美食报告,并将报告内容写入 final_food_diary.txt 文件中保存。
编程的世界充满无限可能!希望同学们能保持好奇心,继续探索代码的魅力,用它去创造更多有趣、实用的程序。今天的课程就到这里,下课!
1.7.2013
‹#›
感谢观看
探索更多编程的乐趣,让创意在代码的世界里无限绽放!
1.7.2013
‹#›
$