Implementează stângăcia
Cu acest cod bine structurat, e foarte ușor să modifici numărul de simulări ale mersului aleator. Trebuie doar să actualizezi funcția range() din bucla for de la nivel superior.
Mai e ceva ce am uitat! Ești un pic stângaci și ai o șansă de 0,5% să cazi. Asta înseamnă că mai avem nevoie de o generare de număr aleator. Concret, poți genera un număr float aleator între 0 și 1. Dacă această valoare este mai mică sau egală cu 0.005, trebuie să resetezi pasul la 0.
Acest exercițiu face parte din cursul
Python intermediar
Instrucțiuni pentru exercițiu
- Modifică funcția
range()astfel încât simularea să fie efectuată de 20 de ori. - Completează condiția
ifastfel încâtstepsă fie setat la 0 dacă un număr float aleator este mai mic sau egal cu 0.005. Foloseștenp.random.rand().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()