НачатьНачать бесплатно

Ниже нуля не опуститься!

Всё идёт отлично! У вас уже есть код, который вычисляет ваше положение в Эмпайр-стейт-билдинг после 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)
Редактировать и запускать код