Добавляем неловкость
Благодаря аккуратно написанному коду изменить количество симуляций случайного блуждания очень просто. Достаточно обновить функцию range() в for цикле верхнего уровня.
Но мы кое-что упустили! Вы немного неловки и с вероятностью 0,5% можете упасть. Это требует ещё одной генерации случайного числа. Вам нужно сгенерировать случайное число с плавающей точкой от 0 до 1. Если оно окажется меньше или равно 0,005, сбросьте значение шага до 0.
Это упражнение является частью курса
Средний уровень Python
Инструкции к упражнению
- Измените функцию
range()так, чтобы симуляция выполнялась 20 раз. - Завершите условие
ifтаким образом, чтобы переменнаяstepпринимала значение 0, если случайное число с плавающей точкой меньше или равно 0,005. Используйтеnp.random.rand().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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()