MulaiMulai sekarang secara gratis

Terapkan faktor ceroboh

Dengan kode Anda yang tersusun rapi ini, mengubah jumlah simulasi random walk menjadi sangat mudah. Anda cukup memperbarui fungsi range() pada loop for tingkat atas.

Masih ada yang kita lewatkan! Anda agak ceroboh dan memiliki peluang 0,5% untuk terjatuh. Ini memerlukan pembuatan bilangan acak tambahan. Intinya, Anda dapat menghasilkan float acak antara 0 dan 1. Jika nilainya kurang dari atau sama dengan 0,005, Anda harus mengatur ulang step menjadi 0.

Latihan ini adalah bagian dari kursus

Python Tingkat Menengah

Lihat Kursus

Petunjuk latihan

  • Ubah fungsi range() sehingga simulasi dijalankan 20 kali.
  • Lengkapi kondisi if sehingga step diatur ke 0 jika suatu float acak kurang dari atau sama dengan 0,005. Gunakan np.random.rand().

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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()
Edit dan Jalankan Kode