Как стать автором
Обновить

Когда менять шины: как Python и открытые API помогут избежать ошибок

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.8K

Весна вроде бы пришла: днём светит солнце, асфальт сухой, и кажется, что пора менять зимние шины. Но ночью всё ещё холодно, и иногда случаются заморозки.

Знакомая ситуация? Чтобы не гадать, я решил подключить Python и прогноз погоды, чтобы получить точный ответ.

Немного теории

Своевременная смена шин — это не просто забота о резине, а вопрос безопасности. Зимние шины в плюсовую погоду теряют сцепление и быстрее изнашиваются, а летние на холодной дороге могут стать причиной заноса.

Есть простое правило: если ночью температура стабильно выше +5 °C, можно смело переобуваться. Но если по ночам случаются заморозки, даже несмотря на тёплые дни, — лучше повременить. Один неожиданный ледяной утренник может обернуться серьёзными проблемами.

Идея решения

Угадывать по ощущениям — не лучший способ принимать решения. Лучше спросить напрямую у погоды. Я нашёл открытый погодный API, который не требует ни регистрации, ни ключей — всё просто.

api.open-meteo.com/v1/forecast?latitude=58.00927115232101&longitude=56.2228553210843&daily=temperature_2m_min&timezone=auto

С его помощью я написал небольшой скрипт на 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 г.

Теги:
Хабы:
+5
Комментарии15

Публикации

Истории

Работа

Data Scientist
50 вакансий

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
22 апреля
VK Видео Meetup 2025
МоскваОнлайн
23 апреля
Meetup DevOps 43Tech
Санкт-ПетербургОнлайн
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область