Весна вроде бы пришла: днём светит солнце, асфальт сухой, и кажется, что пора менять зимние шины. Но ночью всё ещё холодно, и иногда случаются заморозки.
Знакомая ситуация? Чтобы не гадать, я решил подключить Python и прогноз погоды, чтобы получить точный ответ.
Немного теории
Своевременная смена шин — это не просто забота о резине, а вопрос безопасности. Зимние шины в плюсовую погоду теряют сцепление и быстрее изнашиваются, а летние на холодной дороге могут стать причиной заноса.
Есть простое правило: если ночью температура стабильно выше +5 °C, можно смело переобуваться. Но если по ночам случаются заморозки, даже несмотря на тёплые дни, — лучше повременить. Один неожиданный ледяной утренник может обернуться серьёзными проблемами.
Идея решения
Угадывать по ощущениям — не лучший способ принимать решения. Лучше спросить напрямую у погоды. Я нашёл открытый погодный API, который не требует ни регистрации, ни ключей — всё просто.

С его помощью я написал небольшой скрипт на Python, который берёт прогноз на ближайшие дни и показывает, опустится ли температура ночью ниже опасного порога.
Как это работает
Сначала я определяю координаты своего города — Перми — и передаю их в API-запрос.

Чтобы узнать координаты своего города или местности можно прямо у них в документации на сайте посмотреть через кнопку Search.
В ответ получаю прогноз минимальных температур на ближайшие 7 дней. Далее скрипт анализирует ночные значения: если хоть в один из дней температура опускается ниже заданного порога — с заменой шин стоит подождать. Если же ночи стабильно тёплые, значит, пришло время переобуваться без риска.
Код
Вот так выглядит мой скрипт на Python — он простой, понятный и снабжён комментариями на русском. Нужно лишь указать координаты своего города, задать порог температуры (например, +1 °C), и скрипт сам покажет прогноз на ближайшие 7 дней. В выводе вы сразу увидите: стоит ли ещё ждать с переобувкой, или уже можно смело записываться в шиномонтаж.
# Подробнее: https://habr.com/ru/articles/898174/
import requests
from datetime import datetime
# Задайте координаты вашего города.
# Москва:
# latitude = 55.76
# longitude = 37.68
# Пермь:
latitude = 58.00
longitude = 56.22
# Порог ночной температуры, ниже которого считаем, что ещё рано менять шины
threshold_temp = 1 # градусов Цельсия
# Запрашиваем данные погоды на 7 дней вперёд у Open-Meteo
url = (
"https://api.open-meteo.com/v1/forecast"
f"?latitude={latitude}&longitude={longitude}"
"&daily=temperature_2m_min"
"&timezone=auto"
)
response = requests.get(url)
data = response.json()
# Получаем минимальные температуры по дням
dates = data["daily"]["time"]
temps = data["daily"]["temperature_2m_min"]
# Анализируем, будут ли заморозки
print("Погода на ближайшие 7 дней:\n")
frost_expected = False
for date, temp in zip(dates, temps):
date_formatted = datetime.strptime(date, "%Y-%m-%d").strftime("%d.%m.%Y")
print(f"{date_formatted}: минимальная температура ночью {temp}°C")
if temp < threshold_temp:
frost_expected = True
print("\nВывод:")
if frost_expected:
print("❄️ Ночью ожидаются заморозки. Смена шин пока не рекомендуется.")
else:
print("✅ Заморозков не ожидается. Можно менять зимние шины на летние.")
Это не магия, а просто удобный способ принимать бытовые решения на основе данных, а не «на глазок». И кстати — всё open source, так что можно доработать под себя.
Результаты
Скрипт показал, что в ближайшие дни в Перми несколько ночей будут с заморозками: -0.5 °C, -1.0 °C и даже при +0.4 °C ещё рано рисковать. Несмотря на дневное тепло, ночные температуры всё ещё ниже безопасного порога.
Итог: менять зимние шины пока не стоит — подождём более стабильного тепла хотя бы выше +5 °C ночью.

Заключение
Немного кода и открытые данные — и вы уже принимаете решения не «на глаз», а осознанно.
Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»
8 апреля 2025 г.