Наскільки низько можна спуститися?
Справи йдуть чудово! У вас уже є код, який обчислює вашу позицію в Empire State Building після 100 кидків кубика. Однак про дещо ми не подбали — не можна опускатися нижче 0!
Типовий спосіб розв'язати такі задачі — використати max(). Якщо передати max() два аргументи, буде повернено більший із них. Наприклад, щоб змінна x ніколи не ставала меншою за 10 під час зменшення, можна написати:
x = max(10, x - 1)
Ця вправа є частиною курсу
Intermediate Python
Інструкції до вправи
- Використайте
max()аналогічно, щоб гарантувати, щоstepне опускається нижче нуля, якщоdice <= 2. - Натисніть "Submit Answer" і перевірте вміст
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)