小学课后服务 Python少儿编程 提高篇:15-射门小能手1 课件 (32张PPT)

资源下载
  1. 二一教育资源

小学课后服务 Python少儿编程 提高篇:15-射门小能手1 课件 (32张PPT)

资源简介

(共32张PPT)
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
少儿编程课
射门小能手(一)
游戏规则
游戏分5轮进行。每一轮,玩家先选择一个方向射门,电脑随机判断一个方向进行扑救,方向不同则进球得分,相同则不得分。之后攻守互换,玩家选择方向扑救,电脑选择方向射门。
第5轮结束后,如果双方得分不同,则游戏结束,得分高者获胜。
5轮之后,如果双方平分,则比赛继续进行,直到某一轮结束后分出胜负。
direction
方向
shoot
射 门
score
得 分
项目拆解
你率领的球队和电脑控制的球队在绿茵场上短兵相接、见招拆招。经过90分钟的鏖战,双方带着0:0的比分进入到点球大战环节。
将比赛扩大到五局,增设追加局,并绘制比赛场景。
利用Turtle模块让比赛过程更为直观。
Class 1
一局定胜负
Class 2
增加多样性
Class 3
图形化界面
进行一局对战,对局结束后显示比赛结果。
玩家开始进攻
输入指令
input('提示信息'):向计算机输入内容
指令说明:
括号中的字符串:提示使用者要向计算机输入什么
该指令的取值为用户从键盘输入的内容
玩家射门方向
print('==== 轮到你来射门了! ====')
#打印字符串,用来表示游戏开始
a = input('选择方向(左, 中, 右):')
#创建一个变量a,用来存储玩家选择的射门方向
玩家射门方向
玩家开始进攻
choice指令
choice():返回列表或字符串的随机项。
运行结果:
不确定,随机
import random
a = 'abcde'
b = '12345'
list1 = [a, b]
list2 = ['a', 'b']
list3 = [list1, list2]
print(random.choice(a))
print(random.choice(b))
print(random.choice(list1))
print(random.choice(list2))
print(random.choice(list3))
电脑防守方向
import random
direction = ['左', '中', '右']
#定义一个列表存储方向,并赋值给direction
print('==== 轮到你来射门了! ====')
a = input('选择方向(左, 中, 右):')
b = random.choice(direction)
#创建一个变量b,存储随机出的方向
电脑防守
玩家开始进攻
格式化字符串
%s:输出字符串。
%d:输出整型。
用来告诉程序以什么格式输出内容。
a = 'Hello'
print('%s,Jack!' % a)
a = ['Hello', 'Jack']
print('%s,%s!' %(a[0],a[1]))
a = 1
print('%d2345' % a)
a = 1
b = 2
print('%d%d345' % (a, b))
运行结果:
Hello,Jack!
Hello,Jack!
运行结果:
12345
12345
判断进球
score = [0,0]
#创建一个列表用来存储得分,score[0]代表玩家得分,score[1]代表电脑得分
if a != b:
print('射门成功!')
score[0] += 1
else:
print('防守成功!')
print('得分: %d(玩家) - %d(电脑)' % (score[0], score[1]))
判断进球
显示结果
if score[0] > score[1]:
print('你击败了电脑!')
else:
print('我还会回来的!')
显示结果
反思总结
对战分析
玩家进攻:
显示进攻的文字信息;
选择方向;
进球:score[0] + 1;不进球:没有变化。
玩家防守:
显示防守的文字信息;
选择方向;
进球:score[1] + 1;不进球:没有变化。
利用重复代码
print('==== 轮到你来射门了! ====')
a = input('选择方向(左, 中, 右):')
b = random.choice(direction)
if a != b:
print('射门成功!')
score[0] += 1
else:
print('防守成功!')
print('得分: %d(玩家) - %d(电脑)' % (score[0], score[1]))
玩家防守
print('==== 轮到你来防守了! ====')
a = input('选择方向(左, 中, 右):')
b = random.choice(direction)
if a != b:
print('射门成功!')
score[1] += 1
else:
print('防守成功!')
print('得分: %d(玩家) - %d(电脑)' % (score[0], score[1]))
修改之后的代码
简化代码
能不能改写为函数?
定义函数使用:def
函数的名字:包饺子(make_dumplings)
函数的输入:饺子馅儿 (函数的输入也会被称为函数的参数)
函数体:根据饺子馅儿包饺子
函数的输出:各种馅儿的饺子 (函数的输出也会被称为函数的返回值)
注意:所有的函数都必须有函数体,也必然会有输出。但是def,函数名称和函数的输入并不是每一个函数都有。
注意:所有的函数,无论有没有显式的写出return语句,都会有输出。而且,如果显式的写了return语句,一旦执行到return语句时,函数立即执行结束。
函数的组成
改写为函数
def shoot(c): #定义一个函数
if c == 0:
print('==== 轮到你来射门了! ====')
else:
print('==== 轮到你来防守了! ====') #根据传入参数的不同,显示不同的文字信息
……
if a != b:
print('射门成功!')
score[c] += 1 #当传入参数为0或1时,可以实现分数的增加
else:
……
调用函数
shoot(0)
shoot(1)
根据传入参数的不同,执行玩家进攻或电脑进攻,并存储分数。
进行第一局游戏
反思总结

展开更多......

收起↑

资源预览