第41关
代码:
# 注意,一些复杂的地形会让Dev消耗额外的能量,甚至导致死机
# 在代码 for i in range 中,i是用于控制内部代码执行次数的变量
# i的初始值是0,每执行一次for循环内部的代码,i就增大1
# 我们可以借助这种特性来简化我们的代码
# 例如:我们可以用i来表示Flyer的编号
for i in[0,1,2] :
Flyer[i].step(2)
Dev.step(6)
# 补全余下的代码,完成收集任务
解析:
使用列表完成此题。
第42关
代码:
# 完成任务时,可以使用for循环来控制移动Flyer和Dev。
# 在这种情况下,因为for循环不是“嵌套”的,所以我们不需要使用不同的变量,例如i和j。
# 当使用多个非嵌套的for循环时,可以简单地使用相同的变量,例如下面代码中变量都使用i。
for i in range(8):
Flyer[i].step(2)
Dev.step(2)
Dev.turnRight()
for i in range(3):
Dev.step(5)
Dev.turnLeft()
Dev.step(-1)
参考视频
第43关
代码:
# 还记得刚刚学到的知识吗?
# 自己试着完成一下本关卡吧!
for i in range(8):Flyer[i].step(2)
Dev.step(2)
Dev.turnRight()
for i in range(3):
Dev.step(5)
Dev.turnLeft()
Dev.step(-1)
参考视频
第44关
代码:
#还可以使用for循环中的i变量来计算和代表每个飞板移动的步数。
#可以通过使用i变量选择要移动的飞板,并且通过i + 1来计算飞板移动的步数
#我们通过使用Flyer [i] .step(i + 1)做到这一点
#与之前的关卡一样,变量i的初始值为0,并且每次迭代都增加1。
#将代码Flyer [i] .step(i+1)在for循环中重复4次的方式相较于下面的代码更为简洁
#Flyer [0] .step(1)
#Flyer [1] .step(2)
#Flyer [2] .step(3)
#Flyer [3] .step(4)
#应用for循环语句,用更短的代码完成收集任务
for i in range(4):
Flyer[i].step(i+1)
Dev.step(8)
解析:
根据代码上方官方给出的注释提示进行解决。
第45关
第一次代码:
# 警告:前有岐路!
# 警告:前有歧路!
# 警告:前有歧路!
for i in range(4):Flyer[i].step(i+1)
Dev.step(1)
for i in range(4):
Dev.step(8)
Dev.turnRight()
PS
自行写出的代码能量耗尽,无法行走,只好看视频了。
第二次代码:
# 警告:前有岐路!
# 警告:前有歧路!
# 警告:前有歧路!
for i in range(4):Flyer[i].step(i+2)
for i in range(4):
Dev.step(4)
Dev.turnLeft()
Dev.step(1)
Dev.turnRight()
Dev.step(5)
Dev.turnRight()
解析:
通过观看视频后,写出了一种能量不会很快耗尽的代码(出题官越来越…了,请自行脑补)
第46关
代码:
# 凭借自己的力量,完成关卡吧!
for i in range(4):Flyer[i].step(i+1)
for i in range(4):
Dev.turnLeft()
Dev.step(1)
Dev.turnRight()
Dev.step(2)
我了个去,人家循环4次就可以,我非要循环5次(笑哭)3星
第47关
代码:
#与我们使用(i + 1)的方式类似,我们也可以使用变量i来执行其他数学运算,例如乘法。
#在这一关中,我们将使用Flyer [i] .step(2 *(i + 1))来计算飞板需要移动的距离。 就像之前一样,第一次执行此代码时,变量i的值为0,这意味着它将执行命令Flyer [0] .step(2 *(0 + 1))。
#完成以下代码,完成收集任务。
for i in range(3) :
Flyer[i].step(2*(i+1))
Dev.step(2)
Dev.turnLeft()
Dev.step(2)
Dev.turnRight()
Dev.step(2)
解析:
第48关
代码:
#本关卡中,我们使用变量i的语句将使用乘法和加法来计算Flyer应当移动的距离。
#完成以下代码以完成任务。
for i in range(4):Flyer[i].step(2*i+1)
for i in range(2):
Dev.step(-3)
Dev.turnRight()
Dev.step(-3)
Dev.turnLeft()
从这几关来看,一定要数好循环的次数(否则就是哭笑不得了)
第49关
代码:
# 补充下面的代码,完成收集任务吧!
for i in range(4):
Spaceship.step(i+1)
Flyer[i].step(4-i)
Dev.step(-(2+i))
Dev.step(2+i)
看5月17日回放得到代码成功3星
第50关
代码:
# 尝试使用更多的四则运算来得到我们想要的数字吧!
for i in range(4):
Spaceship.step(i+1)
Flyer[i].step(5-i)
Dev.step(2+i)
Dev.step(-(2+i))
解析:
由于ICode非常反人类的报错机制(flyer没法走了竟然在dev身上报错),所以好几次都失败了,把49关的代码稍加修改,就可以3星了。