Kom igångKom igång gratis

Lägg till klumpighet

Med den här välstrukturerade koden är det enkelt att ändra hur många gånger den slumpmässiga vandringen ska simuleras. Du uppdaterar helt enkelt range()-funktionen i den yttersta for-slingan.

Det är dock något vi glömt! Du är lite klumpig och har 0,5 % chans att ramla. Det kräver ytterligare ett slumptal. Du kan generera ett slumpmässigt flyttal mellan 0 och 1. Om värdet är mindre än eller lika med 0.005 ska du återställa step till 0.

Den här övningen är en del av kursen

Intermediate Python

Visa kurs

Övningsinstruktioner

  • Ändra range()-funktionen så att simuleringen körs 20 gånger.
  • Slutför if-villkoret så att step sätts till 0 om ett slumpmässigt flyttal är mindre än eller lika med 0.005. Använd np.random.rand().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod