Aan de slagGa gratis aan de slag

Onhandigheid toevoegen

Met deze netjes geschreven code is het supermakkelijk om het aantal keer dat de random walk wordt gesimuleerd aan te passen. Je hoeft alleen de range()-functie in de bovenste for-lus te updaten.

We zijn nog iets vergeten! Je bent een beetje onhandig en hebt 0,5% kans om te vallen. Daarvoor moeten nog een keer willekeurige getallen worden gegenereerd. Je kunt een willekeurige float tussen 0 en 1 genereren. Als deze waarde kleiner dan of gelijk aan 0.005 is, moet je step terugzetten naar 0.

Deze oefening maakt deel uit van de cursus

Python voor gemiddeld niveau

Cursus bekijken

Oefeninstructies

  • Verander de range()-functie zodat de simulatie 20 keer wordt uitgevoerd.
  • Maak de if-voorwaarde af zodat step op 0 wordt gezet als een willekeurige float kleiner dan of gelijk aan 0.005 is. Gebruik np.random.rand().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren