Zacznij terazZacznij za darmo

Uwzględnij niezdarność

Dzięki tak przejrzystemu kodowi zmiana liczby symulowanych spacerów losowych jest bardzo prosta. Wystarczy zaktualizować funkcję range() w pętli for na najwyższym poziomie.

Jest jeszcze jedna rzecz, o której zapomnieliśmy! Jesteś trochę niezdarny i masz 0,5% szans na upadek. To wymaga wygenerowania kolejnej liczby losowej. Możesz wygenerować losową liczbę zmiennoprzecinkową z zakresu od 0 do 1. Jeśli ta wartość jest mniejsza lub równa 0,005, zmienna step powinna zostać zresetowana do 0.

To ćwiczenie jest częścią kursu

Python średnio zaawansowany

Zobacz kurs

Instrukcje do ćwiczenia

  • Zmień funkcję range() tak, aby symulacja była wykonywana 20 razy.
  • Uzupełnij warunek if tak, aby zmienna step była ustawiana na 0, gdy losowa liczba zmiennoprzecinkowa jest mniejsza lub równa 0,005. Użyj np.random.rand().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod