CommencerCommencer gratuitement

Mettre en œuvre la maladresse

Grâce à votre code bien écrit, il est très facile de modifier le nombre de fois que la marche aléatoire doit être simulée. Il vous suffit de mettre à jour la fonction range() dans la boucle de niveau supérieur for.

Nous avons encore oublié quelque chose ! Vous êtes un peu maladroit et vous avez 0,5 % de chances de tomber. Il faut donc procéder à une nouvelle génération de nombres aléatoires. En fait, vous pouvez générer un nombre aléatoire de valeurs entre 0 et 1. Si cette valeur est inférieure ou égale à 0,005, vous devez remettre le pas à 0.

Cet exercice fait partie du cours

Python intermédiaire

Afficher le cours

Instructions

  • Modifiez la fonction range() de manière à ce que la simulation soit effectuée 20 fois.
  • Terminez la condition if de sorte que step soit mis à 0 si une valeur flottante aléatoire est inférieure ou égale à 0,005. Utiliser np.random.rand().

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code