第 16 关
第16关:这一关有很多种解题方法,只要保证最后一个鲸鱼的喷水高度是6就可以了。
答案:
whales[0].blow(6)
whales[4].blow(5)
whales[3].blow(4)
whales[2].blow(3)
whales[1].blow(2)
第17关
第17关:这一关其实是在给循环做铺垫,虽然左上角写的Loops循环,但是程序代码中用的是 for 循环,学习者要注意与Coding Adventure(coffeescript语言)中的Loops循环区分。
(1)在for challenge中,程序将遍历列表,并对列表中的所有元素执行相同的操作。
(2)这里所指的列表中所有元素,就是图中的5头鲸鱼。鲸鱼是鲸鱼列表中每头鲸鱼的名字。
(3)第一次(第一次迭代)鲸鱼是鲸鱼[0]whales[0]。 for循环的每次迭代,鲸鱼都是列表中的下一个鲸鱼。所以第二次(第二次迭代)鲸鱼就是鲸鱼[1]whales[1]。
(4)为每条鲸鱼更改喷水方法的参数,为:鲸鱼whale 更改
答案:
for whale in whales:
whale.blow(6)
第18关
第18关:这一关与刚刚的17关一样,都是在练习使用for循环,for循环每遍历一次,就会对遍历的列表中的每个元素执行相同的操作。这一关只要把所有的长颈鹿的高度都降低到跟路面一样高就好了。
答案:
for giraffe in giraffes:
giraffe.height = 5
第19关
第19关:
这一关依旧是对for循环的应用。我们需要再放置3条蛇帮助铺路。然后利用for循环,依次对每条蛇的长度进行更改。
答案:
for snake in snakes:
snake.length = 4
第20关
第20关:
这一关是对for循环的一个进阶练习。需要学习者独立完成所有代码:
变编写代码的过程中,要注意以下几点:
(1)for challenge 语句,最后末尾有一个冒号,不要丢,更不要打成中文的冒号,Python语言严格区分中英文和大小写。
(2)在写for语句时,例如鲸鱼 whale 不要写成 whales,whales代表鲸鱼这个数组。whale可以简写成一个 w ,即 :
for whale in whales:
whale.blow(5)
等同于:
for w in whales:
w.blow(5)
此处的 w 和 whale 只是代表whales数组中的元素,用任何变量代表都可以。