4.3 Najdłuższy deszcz w wycinku
Matura pokazowa marzec 2022 - Matura z informatyki: arkusze krok po kroku (Python)
Zadanie 4.3 (2 pkt): pada deszcz, gdy temperatura i opad są większe od zera. Najdłuższy nieprzerwany ciąg takich pomiarów: liczba godzin, data i godzina początku i końca oraz suma opadu (1 pkt za daty, 1 pkt za sumę). Licznik `run` i suma `run_sum` zerują się przy każdym innym pomiarze. Dla wycinka: 10 godzin, od 21.02.2019 22:00 do 22.02.2019 07:00, opad 11,2.
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.3 deszcz: temperatura i opad większe od zera; inny pomiar przerywa ciąg
best, best_start, best_end, best_sum = 0, "", "", 0
run, run_sum = 0, 0
for k, (day, hour, temp, precip) in enumerate(rows):
if temp > 0 and precip > 0:
run = run + 1
run_sum = round(run_sum + precip, 1)
if run > best:
first = rows[k - run + 1]
best, best_start, best_end, best_sum = run, first[0] + " " + first[1], day + " " + hour, run_sum
else:
run, run_sum = 0, 0
print("4.3", best, best_start, best_end, best_sum)Ł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.