始める無料で始める

どこまで下がれる?

順調に形になってきました!サイコロを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)
コードを編集して実行