(点击图片进入关卡)
小心移动,躲避加农炮的炮弹!
简介
你需要在死亡峡谷中收集 8 个宝石。之所以称作死亡峡谷,是因为那里有等待着清扫入侵者的加农炮。
然而这些加农炮只为迅捷的小偷准备,所以如果你移动得慢,也许就能通过。
第一个函数返回 0 至 30 的数。第二个函数应该返回从 0 到 40 的数。
完成任务,宝石就是你的了。
默认代码
# 躲开炮弹,收集8颗宝石。
# 小心,大炮准备开火了!
# 以一个特殊的方式缓慢移动去迷惑敌人
# 这个函数返回一个值从0到30之间(0<n<30)。
def mod30(n):
if n >= 30:
return n - 30
else:
return n
# 这一功能将会返回一个从0到40的值
def mod40(n):
# 使用一个 “if” 语句去返回正确的值
return n
# 你不需要改变下面的代码:
while True:
time = hero.time
x = mod30(time) + 25
y = mod40(time) + 10
hero.moveXY(x, y)
概览
求余(modulo) 操作符返回两数相除的余数。 求余 函数要返回一个 0 到 X 之间的值,其中 X 是除数。 在这里,我们做一个简化版就行。
输入参数 ( n ) 小于 X 时返回输入的值。 不过在 n 大于或等于 X 时得把 n 减去 X 。
第二个函数 mod40 需要返回处于 0 到 40 之间的值。 在示例代码里,只适合 n < 40 的情况。 但当 n>= 40 它会返回错误的值。 为完成函数,你要检查输入值 是否大于或等于 40 -- if (n >= 40) . 如果是,那么减去 40 -- n = n - 40 .
小心,别改变 while 下面的代码。
别冲过去,安静点 解法
# 躲开炮弹,收集8颗宝石。
# 小心,大炮准备开火了!
# 以一个特殊的方式缓慢移动去迷惑敌人
# 这个函数返回一个值从0到30之间(0<n<30)。
def mod30(n):
if n >= 30:
return n - 30
else:
return n
# 这一功能将会返回一个从0到40的值
def mod40(n):
if n >= 40:
return n - 40
else:
return n
return n
# 你不需要改变下面的代码:
while True:
time = hero.time
x = mod30(time) + 25
y = mod40(time) + 10
hero.moveXY(x, y)
本攻略发于极客战记官方教学栏目,原文地址为: