7.3 Najpopularniejsze odmiany w miesiącach
Matura maj 2024 - Matura z informatyki: arkusze krok po kroku (Python)
Zadanie 7.3 (3 pkt): dla każdego miesiąca odmiana, której sprzedano najwięcej kilogramów (zestawienie, 1 pkt), i wykres kolumnowy (2 pkt). Klucz słownika `monthly` to para (numer miesiąca, odmiana), czyli tabela przestawna z dwoma polami wierszy. Miesiąc to znaki 5-6 daty: `day[5:7]`. W pliku przykładowym są trzy miesiące.
prices = {}
with open("cennik.txt", encoding="utf-8") as f:
for line in f:
variety, price = line.rstrip("\n").split("\t")
prices[variety] = float(price.replace(",", ".")) # cena z przecinkiem dziesiętnym
sales = []
with open("jablka_przyklad.txt", encoding="utf-8") as f:
for line in f:
day, variety, kind, nip, kg = line.rstrip("\n").split("\t")
sales.append((day, variety, kind, nip, int(kg)))
# 7.3 sprzedaż odmian w miesiącach (klucz: numer miesiąca i odmiana), potem najlepsza w miesiącu
MONTHS = ["styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień",
"wrzesień", "październik", "listopad", "grudzień"]
monthly = {}
for day, variety, kind, nip, kg in sales:
key = (int(day[5:7]), variety)
monthly[key] = monthly.get(key, 0) + kg
popular = {}
for (month, variety), kg in monthly.items():
if month not in popular or kg > popular[month][1]:
popular[month] = (variety, kg)
labels = [MONTHS[month - 1] + "-" + popular[month][0] for month in sorted(popular)]
values = [popular[month][1] for month in sorted(popular)]
print("7.3")
for label, value in zip(labels, values):
print(label, value)Ł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.