[Python 3 July - Homework] Проблем с датите от голямата задача(Лекция 05),
Здравейте,
Имам няколко въпроса относно последната точка от задачата.
Пълното ми решение:
https://github.com/martin-varbanov96/summer-2016/blob/master/Pitonia/softuni/05/index.py
Условие на задачата:
http://python3.softuni.bg/student/lecture/56801633131b1642fba7379c/
Очаквания output e:
Сума на продажби по час (top 5)
-----------------------------
2015-12-01 12:00:00+01:00: 9209.70 €
2016-01-17 10:00:00+02:00: 8811.59 €
2016-01-05 20:00:00+01:00: 8590.52 €
2015-12-29 20:00:00+02:00: 8270.59 €
2016-01-05 10:00:00+01:00: 8028.91 €
Моя output e:
Сума на продажби по час (top 5)
-----------------------------
2015-12-01 11:00:00+00:00: 9209.70 €
2016-01-17 08:00:00+00:00: 8811.59 €
2016-01-05 19:00:00+00:00: 8590.52 €
2015-12-29 18:00:00+00:00: 8270.59 €
2016-01-05 09:00:00+00:00: 8028.91 €
Функцията, която извършва действията:
def price_by_time(sales):
date_dict = dict()
for sale in sales:
current_date_utc = iso8601.parse_date(sale["date"]).astimezone(timezone.utc) # преобразуваме датата в UTC
current_date_utc = current_date_utc.replace(minute=0, second=0, microsecond=0) # зануляваме миутите, секундите и микросекундите
if current_date_utc not in date_dict:
date_dict[current_date_utc] = 0
date_dict[current_date_utc] += sale["price"]
sorted_dict = sorted(date_dict.items(), key=operator.itemgetter(1))
print("""
Сума на продажби по час (top 5)
-----------------------------
""")
for i in range(0, 5 ):
print("{date}: {price:.2f} €".format(date=str(sorted_dict[-i-1][0]), price=sorted_dict[-i-1][1]))
Въпросът ми е: защо часовете играят с едно две отклонение, бихте ли предложили по добро решение и как можем да сравняваме дати с точност до часа