能降到多低?
进展很不错!您已经有了根据 100 次掷骰子计算自己在帝国大厦中的位置的代码。不过,还有一点我们尚未考虑——位置不能小于 0!
处理这类问题的常见方式是使用 max()。当您向 max() 传入两个参数时,它会返回较大的那个。例如,为了确保变量 x 在递减时永远不会低于 10,您可以这样写:
x = max(10, x - 1)
本练习是课程的一部分
Python 中级
练习说明
- 以类似方式使用
max(),确保当dice <= 2时,step不会低于 0。 - 点击 "Submit Answer" 并检查
random_walk的内容。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# NumPy is imported, seed is set
# Initialize random_walk
random_walk = [0]
for x in range(100) :
step = random_walk[-1]
dice = np.random.randint(1,7)
if dice <= 2:
# Replace below: use max to make sure step can't go below 0
step = step - 1
elif dice <= 5:
step = step + 1
else:
step = step + np.random.randint(1,7)
random_walk.append(step)
print(random_walk)