どこまで下がれる?
順調に形になってきました!サイコロを100回振った後のエンパイアステートビルでの現在位置を計算するコードは、すでにできています。しかし、まだ考慮していないことがあります。0より下には行けません。
このような問題を解決するには、max()を使うのが定番の方法です。max()に2つの引数を渡すと、大きい方が返されます。たとえば、変数xを減らすときに、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)