始める無料で始める

不器用さを実装する

あなたが書いたこのきれいなコードなら、ランダムウォークをシミュレーションする回数を変更するのはとても簡単です。一番外側のforループにあるrange()関数を更新するだけです。

まだ忘れていることがあります!あなたは少し不器用なので、0.5%の確率で転んでしまいます。そのため、もう一度乱数を生成する必要があります。基本的には、0以上1未満のランダムな浮動小数点数を生成できます。この値が0.005以下の場合、stepを0にリセットします。

この演習はコースの一部です

Python中級

コースを見る

演習の手順

  • シミュレーションが20回実行されるように、range()関数を変更します。
  • ランダムな浮動小数点数が0.005以下の場合にstepが0に設定されるよう、if条件を完成させます。np.random.rand()を使用します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# numpy and matplotlib imported, seed set

# clear the plot so it doesn't get cluttered if you run this many times
plt.clf()

# Simulate random walk 20 times
all_walks = []
for i in range(5) :
    random_walk = [0]
    for x in range(100) :
        step = random_walk[-1]
        dice = np.random.randint(1,7)
        if dice <= 2:
            step = max(0, step - 1)
        elif dice <= 5:
            step = step + 1
        else:
            step = step + np.random.randint(1,7)

        # Implement clumsiness
        if ___ :
            step = 0

        random_walk.append(step)
    all_walks.append(random_walk)

# Create and plot np_aw_t
np_aw_t = np.transpose(np.array(all_walks))
plt.plot(np_aw_t)
plt.show()
コードを編集して実行