Ниже нуля не опуститься!
Всё идёт отлично! У вас уже есть код, который вычисляет ваше положение в Эмпайр-стейт-билдинг после 100 бросков кубика. Однако мы не учли один момент — нельзя опускаться ниже 0!
Типичный способ решить подобные задачи — использовать функцию max(). Если передать ей два аргумента, она вернёт наибольший из них. Например, чтобы переменная x не опускалась ниже 10 при уменьшении, можно написать:
x = max(10, x - 1)
Это упражнение является частью курса
Средний уровень Python
Инструкции к упражнению
- Используйте
max()аналогичным образом, чтобы переменнаяstepне опускалась ниже нуля приdice <= 2. - Нажмите Отправить ответ и проверьте содержимое
random_walk.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# NumPy is imported, seed is set
# Initialize random_walk
random_walk = [0]
for x in range(100) :
step = random_walk[-1]
dice = np.random.randint(1,7)
if dice <= 2:
# Replace below: use max to make sure step can't go below 0
step = step - 1
elif dice <= 5:
step = step + 1
else:
step = step + np.random.randint(1,7)
random_walk.append(step)
print(random_walk)