Poner en práctica la torpeza

Con este código tuyo tan bien escrito, cambiar el número de veces que debe simularse el paseo aleatorio es superfácil. Sólo tienes que actualizar la función range() en el bucle de nivel superior for.

¡Todavía hay algo que olvidamos! Eres un poco torpe y tienes un 0,5% de posibilidades de caerte. Eso requiere otra generación de números aleatorios. Básicamente, puedes generar un flotador aleatorio entre 0 y 1. Si este valor es menor o igual que 0,005, debes restablecer el paso a 0.

Este ejercicio forma parte del curso

Python intermedio

Ver curso

Instrucciones de ejercicio

  • Cambia la función range() para que la simulación se realice 20 veces.
  • Termina la condición if para que step se ponga a 0 si un flotador aleatorio es menor o igual que 0,005. Utiliza np.random.rand().

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

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