单元三

第10课 字典——商店物价表

任务场景:商店物价表——名字对应价格
任务场景:商店物价表——名字对应价格
原理图:字典商店——键查值
原理图:字典商店——键查值

一、任务目标

用字典做商店物价,并支持查询。

二、名字对应价格

shop["药水"] 取出价格;name in shop 判断有没有这个商品。比两个平行列表更不容易对错行。

三、解题思路

任务:用字典做商店物价,并支持查询。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「用字典做商店物价,并支持查询。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
  3. 3写出判断条件:什么情况下走 A,什么情况下走 B。
  4. 4对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:用字典做商店物…用「打印」积木把结果说出来,…写出判断条件:什么情况下走…对照参考积木(或代码)跑通后,只改一…

四、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

五、知识点讲解

字典用「键 → 值」保存对应关系,如商品名对应价格。用键查找,比两个平行列表更不容易对错行;先确认键是否存在再取值。

先弄清本课输入与输出,再进编程练习对照现象。

六、编程练习

用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码判题。

先阅读并运行,感受游戏循环。

参考代码(对照抄写到下方 Mixly)
shop = {"药水": 20, "面包": 8, "箭矢": 15}
print("今日物价:", shop)
name = input("要买什么?")
if name in shop:
    price = shop[name]
    print(name, "售价", price, "金币")
else:
    print("没有这种商品")

七、课堂练习

选出你认为正确的一项,再点「检查」。

  1. 字典中 "药水": 20 的 20 是?

  2. 判断名称是否在商店列表里,用来?

  3. shop["盔"] = 60 的作用?

八、本节小结

字典适合「查表」。