4.2 Woda w miesiącach w wycinku

Matura próbna grudzień 2022 - Matura z informatyki: arkusze krok po kroku (Python)

Zadanie 4.2 (3 pkt): zestawienie wody zebranej w każdym miesiącu (1 pkt) i wykres kolumnowy z nazwami miesięcy na osi X, opisem osi Y w litrach i tytułem (2 pkt). Miesiąc daje `day.month`, a lista nazw zamienia numer na nazwę.

from datetime import date

days = []  # (data, litry zebranej wody)
with open("ekodom_przyklad.txt") as f:
    f.readline()  # wiersz nagłówkowy
    for line in f:
        text, water = line.split("\t")
        day = date(int(text[6:10]), int(text[3:5]), int(text[0:2]))  # dd.mm.rrrr
        days.append((text, day, int(water)))

# 4.2 suma zebranej wody w miesiącach
MONTHS = ["styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień",
          "wrzesień", "październik", "listopad", "grudzień"]
monthly = {}
for text, day, water in days:
    month = MONTHS[day.month - 1]
    monthly[month] = monthly.get(month, 0) + water

print("4.2")
for month, litres in monthly.items():
    print(month, litres)

import matplotlib.pyplot as plt

plt.bar(list(monthly), list(monthly.values()))
plt.xticks(rotation=45)
plt.xlabel("miesiąc")
plt.ylabel("zebrana woda [litry]")
plt.title("Retencja wody deszczowej w EKOdomu w 2022 roku")
plt.tight_layout()
plt.show()

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.