Всё очевидно: мы смоделируем решение задачи в реальном мире.
У нас есть задача про таракана, как он ползает по стене и хочет забраться к соседям. Мы уже решали её обычным способом, теперь сделаем это на Python. Потому что Python — это круто, Python — это класс, не было бы Python — не было бы нас.
Условие задачи
В ваш подъезд двумя этажами ниже въехали новые жильцы, которые привезли с собой тараканов. Насекомые в поисках еды стали ползти вверх по вентиляционной шахте и скоро доберутся до вашей квартиры. Но карабкаться вверх им неудобно: за час они поднимаются на 1 м, но сразу после этого теряют равновесие и скатываются на ⅔ м вниз.
Вопрос: сколько часов у вас есть на покупку ловушек для тараканов, если расстояние от вас до соседей по вентиляционной шахте — 7 м?
Задаём условия
У программистов считается правильным делать все значения не жёстко заданными числами в коде, а переменными. Это удобно, когда меняются исходные данные: достаточно пересмотреть значение переменной в одном месте, а не искать эти цифры по всему коду. Поэтому первое, что мы сделаем, — зададим начальные условия задачи:
Если нам понадобится поменять высоту шахты или скорость сползания, мы сможем это сделать быстро, потому что все данные у нас записаны в одном месте.
Алгоритм для решения
Теперь напишем алгоритм, который будет считать часы, которые понадобятся таракану на движение по шахте. Основная мысль такая:
Каждый час таракан проползает определённое расстояние наверх и немного сползает вниз. При этом мы постоянно проверяем, достиг он края шахты или нет.
Запишем эту мысль в виде кода:
Здесь мы используем операторы += и -=. Они работают так: берут переменную и прибавляют или отнимают от неё то значение, которое стоит после оператора. Например, 3 += 2 будет 5, а 10 -= 4 будет 6. Последнее, что нам осталось, — вывести результат работы на экран:
# Выводим количество полученных часов
print("Таракану понадобится" ,hours, "часов.")
Готовый код (вставьте в Jupyter и нажмите Shift + Enter):
Теперь с помощью этого кода мы можем решить любую задачу про таракана с разными начальными условиями. Чтобы их поменять, достаточно переделать нужную переменную в самом начале программы.
Например, попробуйте поменять код, чтобы он решал ту же задачу, но с новым условием: каждые два часа таракан отдыхает в течение часа и никуда при этом не ползёт.
Подписывайтесь на наш канал, чтобы не пропустить новые задачи!