24
Янв
2017

Как создать проверку сегодняшнего дня? Как вывести погоду только на сегодня?

Прошу вашей помощи, имеется код:

import requests
from datetime import datetime, date, time

city = input()
r = requests.get('http://api.openweathermap.org/data/2.5/forecast?&units=metric&q=%s&appid=295f286d77a869327ed8dfae72a0542d' % (city))
data = r.json()
temp = data["list"]
for id in temp:
    tmp = id["main"]["temp"]
    tmp = str(round(tmp))
    dt = id["dt_txt"]
    print(dt + " - " + tmp + "°C")

Который по названию города выдает погоду на 5 дней. Вот только выдает он периодами по 3 часа. Т.е. за 24 выдаст 8 значений. За 5 дней - 40

введите сюда описание изображения

Что бы задать выводимое количество значений, в коде я могу прописать temp = data["list"][*number*]. Проблема в том, что погода выводится в зависимости от времени, т.е. если я запущу скрипт в 18, то он покажет погоду начиная с 18:00. Если я запущу в 9 утра, то покажет с 9 утра. Исходя из этого, я не могу задать в temp = data["list"] [8] так как выведится погода не только на сегодня, но и на завтра. А постоянно исходя из времени вписывать нужное количество выводимых значений у меня нет.

Как я могу сделать проверку, что если до конца сегодняшнего дня остается 6 часов, значит в temp = data["list"] предать значение [2]. Если остается 12 часов - то передать [4].

Буду вам очень благодарен за ответ

Источник: https://ru.stackoverflow.com/questions/618931/%D0%9A%D0%B0%D0%BA-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D1%83-%D1%81%D0%B5%D0%B3%D0%BE%D0%B4%D0%BD%D1%8F%D1%88%D0%BD%D0%B5%D0%B3%D0%BE-%D0%B4%D0%BD%D1%8F-%D0%9A%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D1%83-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D0%BD%D0%B0-%D1%81%D0%B5%D0%B3%D0%BE%D0%B4%D0%BD%D1%8F

Тебе может это понравится...

Добавить комментарий