单元二

第5课 if分支——石头剪刀布

任务场景:石头剪刀布——用分支写出胜负表
任务场景:石头剪刀布——用分支写出胜负表
原理图:if / elif / else 像路口分岔
原理图:if / elif / else 像路口分岔

一、任务目标

实现一局石头剪刀布,并判定胜负。

二、规则就是分支

胜负表可以写成条件:

  • 相同 → 平局
  • 石头胜剪刀、剪刀胜布、布胜石头 → 你赢
  • 其余 → 你输

「否则如果…」 表示「否则如果」,避免写一长串互相无关的 「如果…那么…」。「and」/「or」 用来组合多个条件。

三、解题思路

任务:实现一局石头剪刀布,并判定胜负。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

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

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

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

任务:实现一局石头剪…用「打印」积木把结果说出来,…写出判断条件:什么情况下走…对照参考积木(或代码)跑通后,只改一…

四、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
随机取一项
列表从列表中随机选出一个元素。本课编程练习中首次使用,载入后可在工具箱对照。

五、知识点讲解

条件判断根据真假走不同分支:满足就做 A,否则做 B(或什么都不做)。阈值是用来比较的分界线。智能感来自「会选择」;边界情况(刚好等于)也要事先想好。

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

六、编程练习

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

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

参考代码(对照抄写到下方 Mixly)
import random
ops = ["石头", "剪刀", "布"]
you = input("请出拳(石头/剪刀/布):")
pc = random.choice(ops)
print("电脑出:", pc)
if you == pc:
    print("平局")
elif (you == "石头" and pc == "剪刀") or (you == "剪刀" and pc == "布") or (you == "布" and pc == "石头"):
    print("你赢了!")
else:
    print("你输了")

七、课堂练习

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

  1. 「如果/否则如果/否则」最多会执行其中几条分支?

  2. 「随机取一项」积木的作用是?

  3. 石头对剪刀时,应走到哪类分支?

八、本节小结

分支把「规则表」写成代码。