【少儿编程】少儿Python编程语言内容讲解(共6个课件)

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

【少儿编程】少儿Python编程语言内容讲解(共6个课件)

资源简介

(共10张PPT)
坐标与列表遍历
练习
复习巩固
在X与Y轴上,用坐标表示Item与Dev的位置,利用坐标计算两者之间的距离d,从而确定Dev行走的步数与方向。
for i in range(6):
Dev.step( Item[i].y-Spaceship.y )
Dev.step( Spaceship.y-Dev.y )
if i<5:
Spaceship.step(Item[i+1].x-Spaceship.x)
请补充完整程序
填空 1
填空 2
填空 3
复习巩固
通过坐标与列表遍列,解决解题中两大问题:Flyer、Spaceship、Dev移动的距离,Dev移动的方向——前进or后退。
(1) 距离
Flyer[i].step(Item[i].x-Flyer[i].x)
Spaceship.step(Item[i].x-Spaceship.x)
Dev.step( d )
(2)方向
d>0时,表示Dev正向行走——前进
d<0时,表示Dev反向行走——倒退
思考:如何表示Dev行走的距离d
复习巩固
for i in range(5):
Flyer[i].step(Item[i].x-Flyer[i].x)
Spaceship.step(Item[i].x-Spaceship.x)
Dev.step(Item[i].y-Spaceship.y)
Dev.step(Spaceship.y-Dev.y)
d<0,Dev倒退
d<0,Dev前进
复习巩固
for i in range(4):
Dev.step(Item[2*i].x-Dev.x)
Dev.turnRight()
Dev.step(Item[2*i+1].y-Dev.y)
Dev.turnLeft()
通过寻找循环体,确定列表遍历次数。
请把程序补充完整
课堂练习
绝对值函数
飞板的移动步数必须大于0,那么本题中的部分飞盘的距离数值都为负数,不能作为飞板的移动步数。
我们可以通过绝对值函数,获取坐标距离的绝对值:
绝对值数学表达:|-2| = 2
函数语言:abs(-2) = 2
for i in range(5):
Flyer[i].step(abs(Dev.y-Flyer[i].y))
Dev.step(2)
Ex-7
课堂练习
请写出左边题目程序代码
for i in range(8):
Flyer[i].step(abs(Flyer[i].y-Dev.y))
Dev.step(9)
Ex-8
轻轻点击,出现答案
课堂练习
for i in range( ):
Flyer[i].step( )
Dev.step( )
Dev.turnRight()
Dev.step( )
Dev.turnRight()
先确定Flyer行走的距离函数,再确定Dev每次循环所走的步数规律。
思考:Dev行走需要重复循环几次?将下列程序补充完整。
Ex-15
3
abs(Dev.x-Flyer[i].x)
2*(i+1)
2*(i+1)
课堂练习
完成“坐标与列表遍历练习”第10~20题。
课后作业
查漏补缺,2级训练场所有练习,并截图发至编程园地。(共8张PPT)
能量状态判断
能量状态判断
能量状态判断
icode程序中,能量瓶Item共有两种状态,分别为红色(能量瓶损坏)和蓝色(能量瓶正常)。Dev只能收集蓝色能量瓶,不能收集红色能量瓶。所以我们在写程序时,要使用if语句对Item进行状态判断。
需要用条件运算符:“非”(not ),用来表示能量瓶没有损坏的状态。
红色能量瓶损坏:if Item.broken():
蓝色能量瓶正常使用if not Item.broken():
讲授新知
图示中,Dev 需要收集所有蓝色Item,我们可以使用循环语句表示spaceship行走的路径。但是需要避开红色Item,这就需要我们使用if语句进行判断,解决收集问题。
请将下列程序补充完整
for i in range(6):
Spaceship.step(2)
if not Item[i].broken():
Spaceship.turnLeft()
Spaceship.step(4)
Spaceship.turnLeft()
Spaceship.turnLeft()
Spaceship.step(4)
Spaceship.turnLeft()
请补充本行代码
讲授新知
请将程序补充完整
for i in range(6):
if not Item[i].broken():
Dev.turnLeft()
Dev.step(2+i)
Dev.step(-2-i)
Dev.turnRight()
Dev.step(2)
先寻找规律,再写代码。
首先,程序需要循环6次,Y轴上Dev行走的步数从2到7,每次增加1步。X轴上Dev每次行走2步。
其次,需要判断红色Item所在位置,Dev可以忽略不走。
请将程序补充完整
练习巩固
Spaceship.step(3)
for i in range(4):
if not Item[3-i].broken():
Dev.step(4)
Dev.step(-4)
if i<3:Spaceship.step(5)
注意正确表达Item的序号,确定判断条件,使用if语句完成收集任务。
请将程序补充完整
Item[3]
Item[2]
Item[1]
Item[0]
课堂练习
注意红色能量瓶Item的序号,本题共循环4次,但是有8个Item,思考如何正确使用变量i来表示Item序号呢?
确定判断条件,使用if语句完成收集任务
for i in range(4):
Dev.step(i+1)
Dev.turnLeft()
if not Item[3-i].broken():
Dev.step(2)
Dev.step(-2)
Dev.step(-4)
Dev.step(4)
Dev.turnRight()
Item[0]
Item[1]
Item[2]
Item[3]
练习巩固
完成第5~10题,限时20分钟
课后作业
完成3级训练场“能量状态判断”剩余题目,并截图发至编程园地。(共9张PPT)
坐标判断
坐标判断
坐标判断
当Item的所在位置无规律可循时,在循环语句中,我们需要判断不同Item对象之间的坐标位置,使用if语句对Item坐标进行判断应用。
本题中,飞船在移动的过程中,判断能量的y坐标位置和Dev的y坐标。
如果Item.y如果Item.y>Dev.y,Dev只需在Spaceship上收集能量。
坐标判断
补充完整下面的代码,完成收集任务
for i in range(4):
Spaceship
Spaceship
Spaceship
Spaceship
if Item[i].y < Dev.y:
Dev
补充完整下面的代码,完成收集任务
for i in range(4):
Spaceship.step(3)
Spaceship.turnLeft()
Spaceship.step(3)
Spaceship.turnRight()
if Item[i].y < Dev.y:
Dev.step(3)
Dev.step(-3)
课堂练习
Item[0]
Item[8]
本题中,要想收集到物品,首先要将Flyer连在一起搭建一条Dev能够通过的路。
有些飞板需要移动,有些飞板不需要移动,为了确定哪些飞板要移动,我们将使用if条件语句判断Flyer与Dev之间的距离(或者y坐标)。
如果Flyer[i] .y!= Dev.y:
Flyer[i].step(2)
课堂练习
Flyer的序号从左往右为Flyer[0]~Flyer[8]
Item[0]
Item[8]
修改以下代码以完成收集任务:
for i in range(9):
if Flyer[i].y != Dev.y:
Flyer[i]
修改以下代码以完成收集任务:
for i in range(9):
if Flyer[i].y != Dev.y:
Flyer[i].step(2)
Dev.step(15)
课堂练习
使用if语句判断Dev和Item[i]之间的距离关系,完成收集任务。
for i in range(4):
Dev.step(3)
Dev.turnLeft()
if Item[i].yDev.step(3)
Dev.step(-3)
Dev.step(-3)
Dev.turnRight()
请写出本题程序
练习巩固
完成第4~10题,限时20分钟
拓展与提高
Ex-18
灵活应用坐标,使用if语句完成收集任务
先把Flyer移到Item后面位置,再移动spaceship。
for i in range(5):
if Flyer[4-i].y!=4:
Flyer[4-i].step(abs(Flyer[4-i].y-4))
Spaceship.step(2)
Spaceship.turnRight()
Spaceship.step(3)
Spaceship.turnLeft()
Spaceship.turnLeft()
Spaceship.step(3)
Spaceship.turnRight()
请写出本题程序
课后作业
完成3级训练场“坐标判断”剩余题目,并截图发至编程园地。(共17张PPT)
if else
条件判断
情境引入
如果你没有戴口罩,你就不能进入公共场所!
如果你没有……,你就不能…… !
新知教授
1、if 语句的基本语法?
2、else处理条件不满足的情况
if 语句初体验
If 条件判断的基本语法
循序善诱
在Python中,if 语句就是 来进 条件判断的。
如果 今天作业写完了
你就可以踢足球了
如果 期末考试班级第一
妈妈带你去迪士尼玩
。。。。。。
。。。。。。
思维构建
在Python中,if 语句就是 来进 条件判断的。
if 要判断的事:
条件成立要做的事
缩进,Python代码为了美观,简洁,有严格的缩进要求,为一个“Tab”键,或者4个空格
else处理条件不满足
思维构建
else [els] adv.其他的;别的;另外的;不同的
else使用格式如下:
if 要判断的条件:
条件成立时,要做的事情……
else:
条件不成立时,要做的事情
……
缩进为一个“Tab”键,或者4个空格
编玩编学
年龄智能判定系统
还记得我们学习过的input函数吗?
利用input函数设计一个小学入学年龄判定系统
输入的年龄,
如果:>= 18,允许就读小学
否则 < 18 ,回去读幼儿园
编玩编学
判断语句演练:
1.定义 个整数变量(age)记录年龄
2.判断是否满7岁 (>=7)
3.如果满7岁,允许进入小学读书
4.如果不满7岁,回去读幼儿园
age = 7
if age >= 7:
print("允许进入小学读书")
else:
print("回去读幼儿园")
练习巩固
查看地图,所有的飞板都需要移动,飞板的移动情况可以分为两种, Flyer的x坐标比Dev小的移动1步,其他的移动2步。
我们可以使用if...else...语句完成
如果 Flyer的x坐标小于 Dev.y
if Flyer[i].x < Dev.x:
那么Flyer移动1步
Flyer[i].step(1)
否则Flyer移动2步(不满足条件时,执行else后面的代码)
else:
Flyer[i].step(2)
练习巩固
补充完整下面的代码,完成收集任务
for i in range(6):
if Flyer[i].x < Dev.x:
Flyer[i].step(1)
else:
Flyer[i].step(2)
Dev.step(Dev.y-Item[0].y)
练习巩固
应用if...else...语句,判断飞板的坐标情况。提示:如果Flyer坐标比Dev小的移动7步,其他情况移动3步
for i in range(5):
if
else:
for i in range(5):
if Flyer[i].x>Item[2].x:
Flyer[i].step(3)
else:
Flyer[i].step(7)
Dev.step(Dev.y-Item[0].y)
练习巩固
确定判断条件,应用if…else…语句编写代码,完成收集任务
提示:循环到第三次时(i==2),飞船向左转,其他情况都向右转
for i in range(6):
Spaceship.step(4)
if i==2:
Spaceship.turnLeft()
else:
Spaceship.turnRight()
课堂练习
提示:迷宫类型,先找到Spaceship行走的路线。使用if else语句完成代码。
for i in range(8):
Spaceship.step(1+i)
if i<2:
Spaceship.turnRight()
else:
Spaceship.turnLeft()
课堂练习
补充完成第7~10题,限时20分钟
练习巩固
课后作业
完成3级训练场“if else语句”及“if else练习”剩余题目,并截图发至编程园地。(共24张PPT)
逻辑运算符
新课导入
比如多个条件都成 才能执 ,或者有 个条件成 就可以执 ,这时就需要使 逻辑运算符。
什么是逻辑运算符呢?
妈妈说:
如果你期末考试语文与数学都考了100分,
就带你去上海迪士尼玩!
讲授新课
妈妈说:
如果你期末考试语文,数学都考了100分,
就带你去上海迪士尼玩!
语文 数学 判断
100 100 成立
95 100 不成立
100 95 不成立
95 95 不成立
讲授新课
条件一 and 条件二 与/并且
条件一 条件二 判断
成立 成立 成立
成立 不成立 不成立
不成立 成立 不成立
不成立 不成立 不成立
两个条件同时满 ,返回True(成立)
只要有 个不满 ,就返回False(不成立)
讲授新课
a = 100
b = 100
if a == 100 and b == 100:
print(“可以去迪士尼")
else:
print(“家里蹲,写作业")
写成演示代码:
注:python中,“=”表示赋值;“==”表示判断两个数是相等
讲授新课
妈妈说:
如果你期末考试语文或数学考了100分,
就带你去上海迪士尼玩!
语文 数学 判断
100 100 成立
95 100 成立
100 95 成立
95 95 不成立
讲授新课
条件一 or 条件二 或/或者
条件一 条件二 判断
成立 成立 成立
成立 不成立 成立
不成立 成立 成立
不成立 不成立 不成立
两个条件只要有一个满 ,返回True
两个条件同时不满足,返回False
讲授新课
a = 100
b = 90
if a == 100 or b == 100:
print(“可以去迪士尼")
else:
print(“家里蹲,写作业")
写成演示代码:
讲授新课
我们再来说说最后一种逻辑运算符:not (非 / 不是)
条件一 判断
成立 不成立
不成立 成立
如果不 下雨
我们今天出去踢球
if not rain:
print(“我们今天出去踢球”)
if rain:
print(“下雨了,不能出去踢球了”)
讲授新课
学完了逻辑运算符
让我们结合实际应用试试吧!
逻辑运算符
Cathy
ADD YOUR TEXT HERE
ADD YOUR TEXT HERE
John
Tony
我们可以使用三句话来总结一下:
1、and计算中,两者都为True,则结果返回True,否则返回False。
2、or计算中,两者至少一个为True,则结果返回True,否则返回False。
3、not计算中,原来为True,则结果返回False;反之,原来为False,结果返回True。
逻辑运算符
a and b 逻辑与:只有当a与b都是为真时,结果才为真。
a or b  逻辑或:只有当a与b都是为假时,结果才为假。
not c  逻辑非:当c为假时结果为真,否则结果为假。
a and b 逻辑与:只有当a与b都是为真时,结果才为真。
a or b  逻辑或:只有当a与b都是为假时,结果才为假。
not c  逻辑非:当c为假时结果为真,否则结果为假。
练一练
第一
练一练条件语句
下面举出一些逻辑表达式的例子,直接在笔记本上写出你的答案:
条件: 逻辑表达式:
a大于零或者b大于零 if a>0 or b>0 :
a大于零与b小于零
1 ≤ x < 10
a,b,c 都不为零
c 不大于 a+b
a,b都能被5整除
字符c是否为数字
n是一个三位正整数
a,b,c三个数都不相等
讲授新课
当Item的所在位置无规律可循时,在循环语句中,我们需要判断不同Item对象之间的坐标位置,使用if语句对Item坐标进行判断应用。
本题中,飞船在移动的过程中,判断能量的y坐标位置和Dev的y坐标。
如果Item.y如果Item.y>Dev.y,Dev只需在Spaceship上收集能量。
逻辑运算符 ( or )
练一练
回顾if语句的应用,在前面的学习中应用到了逻辑运算符非,"not"。
例如在写if语句如果能量损坏:if Item.broken()
那么条件要写成如果能量没有损坏,我们需要在前面加上not:if not Item.broken()
修改下面的代码,完成收集任务
for i in range(5):
Dev
if Item[i].broken():
Dev
for i in range(5):
Dev.step(2)
if not Item[i].broken():
Dev.turnRight()
Dev.step(3)
Dev.step(-3)
Dev.turnLeft()
练一练
应用if语句判断的过程我们也可以使用多个条件,例如这一题中,循环的过程里,变量i的值为2和3时,没有需要收集的能量,只有for循环过程中变量i的值比2小 或者 变量i的值比3大时,Dev才前进收集。
应用或者连接两个条件,在代码中可以应用关键词”or“
if i < 2 or i > 3:
Dev.step(5)
练一练
补充完整下面的代码,完成收集任务
for i in range(7):
Spaceship.step(2)
if i <2 or i >3:
Dev
for i in range(7):
Spaceship.step(2)
if i <2 or i >3:
Dev.step(5)
Dev.step(-5)
讲授新课
逻辑运算符 ( and )
练一练
逻辑运算符除了not,或者or之外,还有并且 and
这一题中,循环过程变量i的值不等于1并且也不等于4时,Dev才转向并且移动收集。 并且可以用到逻辑运算符“and”
如果 i != 1 并且 i != 4:
if i != 1 and i != 4:
两个条件都满足的情况下执行Dev左转
Dev.turnLeft()
练一练
补充完整下面代码,完成收集任务
for i in range(6):
Dev
if i !=1 and i != 4:
for i in range(6):
Dev.step(1)
if i !=1 and i != 4:
Dev.turnLeft()
Dev.step(3)
Dev.step(-3)
Dev.turnRight()
Dev.step(1)
课堂练习
逻辑运算符”and“连接的两个条件,必须满足两个条件,那么if语句返回的是True(真),执行程序。只要有一个条件不满足时,就返回False(假),程序不执行。
写出完整代码,完成收集任务
for i in range(5):
if i!=1 and i!=3:
Dev.turnRight()
Dev.step(4)
Dev.step(-4)
Dev.turnLeft()
Dev.step(2)
课堂练习
Flyer的序号从左往右为Flyer[0]~Flyer[8]
Item[0]
Item[8]
修改以下代码以完成收集任务:
for i in range(9):
if Flyer[i].y != Dev.y:
Flyer[i]
修改以下代码以完成收集任务:
for i in range(9):
if Flyer[i].y != Dev.y:
Flyer[i].step(2)
Dev.step(15)
课堂练习
提示:如果Flyer的x坐标和Item的x坐标不相等,或者Flyer的y坐标和Item的y坐标不相等,那么Flyer就需要移动1步。
确定判断条件,使用if语句完成收集任务
for i in range(6):
if Item[i].x!=Flyer[i].x or Flyer[i].y!=Item[i].y:
Flyer[i].step(1)
Dev.step(3)
for j in range(3):
Dev.turnRight()
Dev.step(5)
写出完整代码
练习巩固
完成第7~10题,限时30分钟
课后作业
完成3级训练场“逻辑运算符”剩余题目,并截图发至编程园地。(共16张PPT)
while 语句
情景引入
话说东汉末年,天下大乱。群雄并起,诞生了无数能臣武将,最终天下三分,形成了吴蜀魏三国,平分天下,鼎足而立。
情景引入
程序的运行世界里,有三大流程鼎足而立。
顺序结构
选择结构
循环结构
教授新知
while循环语句,通常拥有判断条件和内部执行代码,如果满足条件,则不断执行内部的代码,直到条件不满足后则退出while循环语句
循环是指反复连续做某事。
while语句的一般表达式为:
while(条件表达式)
循环体语句;
while 语句的使用句
教授新知
查看地图,有一个新的的元素一块时隐时现的绿色飞板,当飞板消失时,Dev无法前进。
我们可以应用disappear()函数判断飞板当前的状态,应用while循环语句进行判断。
while Flyer.disappear(): #当飞板消失时
wait() #重复执行wait()等待函数
教授新知
教授新知
注意while语句在判断时,是判断飞板当前的状态。所以Dev 最好移动到飞板前再进行判断,否则跳出while循环后,飞板的状态依旧是变化的。
Dev.step(1)
while Flyer.disappear():
wait()
Dev.step(5)
完成完整代码
教授新知
Dev只有在飞盘前一个砖块上时,才能进行等待操作。应用while语句编写代码,完成收集任务。
while Flyer[0].disappear():
wait()
Dev.step(3)
Dev.step(-1)
while Flyer[0].disappear():
wait()
Dev.step(-4)
while Flyer[1].disappear():
wait()
Dev.step(-3)
完成完整代码
教授新知
当飞船遇到绿色的飞板时,绿色飞板没有消失时,绿色飞板挡住了飞船的路,这时候保持等待。我们可以应用逻辑运算符“not”
如果绿色飞板没有消失,重复执行等待
while not Flyer.disappear():
wait()
补充完整代码,完成收集任务
while not Flyer.disappear():
wait()
Spaceship.step(3)
完成完整代码
教授新知
当出现两个会消失的飞盘时,需要分别写两个“消失、等待”的代码,然后再让spaceship通过。
补充完整代码,完成收集任务
while not Flyer[0].disappear():
wait()
while not Flyer[1].disappear():
wait()
Spaceship.step(9)
补充完整代码
教授新知
Dev的总能量为100,每经过一次崎岖的地块,Dev的能量就减少10。每经过或在太阳能板上等待一次就能增加10的能量。
我们可以应用while语句判断当前Dev的能量。当Dev的能量少于100时,在太阳能板上保持等待
崎岖路块,能量减10.
太阳能板,能量加10.
教授新知
本题中,Dev前进8步移动到太阳能板上以后,消耗了70的能量,可以应用while语句进行判断,并补充能量。
本题程序代码为:
Dev.step(8)
while Dev.energy<100:
wait() #只有Dev在能量板上等待,才能完成充电100。否则只能充10.
Dev.step(4)
崎岖路块,能量减10.
太阳能板,能量加10.
教授新知
注意本题中Dev的能量只有20。观察Dev的收集路线,找出最优路线,编写代码完成收集任务。
Dev.step(8)
while Dev.energy<100:
wait()
Dev.step(4)
练习巩固
完成第11~15题,限时20分钟
课后作业
完成4级训练场“while入门”及“绿色飞盘(1)”剩余题目,并截图发至编程园地。

展开更多......

收起↑

资源列表