第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星了。
