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
Övningsinstruktioner
- Ändra
range()-funktionen så att simuleringen körs 20 gånger. - Slutför
if-villkoret så attstepsätts till 0 om ett slumpmässigt flyttal är mindre än eller lika med 0.005. Användnp.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()