单元三

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

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

一、任务目标

理解字典用「键→值」保存商品与价格,能按商品名查询;查询前须确认键是否存在。

二、我们要学什么

  • 学习要点:字典|商店物价表
  • 本课过关:能完成:说出用商品名当键取出价格;载入体验程序,指出存在的商品能查到、不存在的要提示;改一个价格后查询结果跟着变。
  • 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。

三、本节要点

本课要认识字典。重难点是先判断键是否存在再取值。要点对齐「字典|商店物价表」。

1读场景明确真实任务
2对要点字典|商店物价表
3载入运行图形化积木

四、解题思路

任务:用字典做物价表并支持查询。请分清输入(商品名)与输出(价格或未找到)。

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

  1. 1明确任务「按名查价」:有货给价格,无货要提示。
  2. 2用商品名 in 字典判断后再取值。
  3. 3改一个价格后重查,观察结果是否跟随。

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

任务:按名查价用商品名 in 字典判断后再取值改一个价格后重查

五、图形块讲解

本课用到的 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. 判断:物价表用字典比两个平行列表更不容易对错行。

  2. 判断:即使商店里没有「盔」,直接写 shop["盔"] 也永远不会出错。

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

  4. 判断名称是否在商店里,是为了?

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

九、本节小结

本课主题是字典:用「商品名→价格」查询。不存在的键不要直接取。