Ungeschicklichkeit einbeziehen

Mit deinem sauber geschriebenen Code ist es total einfach, die Anzahl der Simulationen des Irrlaufs zu ändern. Du aktualisierst einfach die Funktion range() in der for Schleife auf der obersten Ebene.

Etwas haben wir aber noch vergessen: Da du nämlich auch ein bisschen ungeschickt bist, könnte es mit einer Wahrscheinlichkeit von 0,5 % passieren, dass du stolperst und die Treppe herunterfällst. Wir brauchen also einen weiteren Zufallszahlengenerator. Grundsätzlich kannst du eine zufällige Gleitkommazahl zwischen 0 und 1 erzeugen. Wenn dieser Wert kleiner oder gleich 0,005 ist, fällst du wieder auf den Treppenanfang (0) zurück.

Diese Übung ist Teil des Kurses

Python für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • Ändere die Funktion range() so, dass die Simulation 20 Mal durchgeführt wird.
  • Vervollständige die if-Bedingung so, dass step auf 0 gesetzt wird, wenn ein zufälliger Wert kleiner oder gleich 0,005 ist. Verwende np.random.rand().

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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()