能降到多低?
進展很不錯!你已經有一段程式碼,能在擲 100 次骰子後,計算你在帝國大廈中的位置。不過,我們還少考慮一點——你不可能低於 0!
解這類問題的典型方法是使用 max()。如果你把兩個引數傳給 max(),它會回傳較大的那個。例如,若要確保變數 x 在遞減時絕不低於 10,可以這樣寫:
x = max(10, x - 1)
本練習屬於課程
Python 中級
練習說明
- 用類似的方法使用
max(),確保當dice <= 2時,step不會降到 0 以下。 - 按下「送出答案」,並檢查
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)