4.1 Dobowa amplituda w wycinku
Matura pokazowa marzec 2022 - Matura z informatyki: arkusze krok po kroku (Python)
Zadanie 4.1 (2 pkt): dzień z największą dobową amplitudą temperatury (różnica najwyższej i najniższej temperatury tego dnia) i wartość tej amplitudy. Słowniki `low` i `high` trzymają minimum i maksimum każdego dnia. Różnica liczb z ułamkiem binarnym potrafi wyjść jako 11.799999999999999, stąd `round(..., 1)`. Dla wycinka: 22.02.2019, 11,8.
rows = [] # (dzień, godzina, temperatura, opad)
with open("brenna_przyklad.txt") as f:
f.readline() # wiersz nagłówkowy
for line in f:
moment, temp, precip = line.strip().split("\t")
day, hour = moment.split() # "01.01.2019 00:00"
rows.append((day, hour, float(temp.replace(",", ".")), float(precip.replace(",", "."))))
# 4.1 najniższa i najwyższa temperatura każdego dnia, potem największa różnica
low, high = {}, {}
for day, hour, temp, precip in rows:
low[day] = min(low.get(day, temp), temp)
high[day] = max(high.get(day, temp), temp)
best_day, amplitude = "", -1
for day in high:
if high[day] - low[day] > amplitude:
best_day, amplitude = day, high[day] - low[day]
amplitude = round(amplitude, 1)
print("4.1", best_day, amplitude)Ł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.