本次研究内容主要围绕“石头剪刀布”游戏项目展开,探究人机对弈背后的原理和计算思维,从而复习算法的相关内容。
【项目活动1】计算机怎么随机出“石头、剪刀、布”?
引导学生:将多个元素存放在什么数据类型中?
学生归纳:列表。
追问:列表元素如何调用?
学生复习:根据列表中元素的位置索引号调用。
追问:如何实现列表元素的随机调用?
师生共同分析算法:借助Python中随机数模块,实现指定范围的随机整数,并根据随机索引号调用列表元素。
学生活动:补充“随机出拳1.py”程序,调试运行。
import random
list=["石头","剪刀","布"]
index=①.randint(0,2)
computer=list[②]
print(computer)
【项目活动2】玩家和计算机是怎样PK的呢?
学生:罗列玩家和计算机PK结果有几种?
学生总结:有三种情况,玩家赢、计算机赢和平手。
师追问:针对这个问题,我们采用什么结构的算法?
学生回答:分支结构中的多分支语句。
师生共同复习分支结构算法。
学生活动:将罗列的自然语言条件转换为Python表达式,补充“PK.py”程序代码,调试运行。
import random
list=["石头","剪刀","布"]
index=random.randint(0,2)
computer=list[index]
player=input("请输入【石头、剪刀、布】")
if player=="石头" and computer=="剪刀" or ① or player=="布" and computer=="石头":
print("玩家 获胜,恭喜!")
elif ②:
print("平手!")
③:
print("玩家输了,再接再厉!")