4.1a Najdłuższy okres bez opadów w wycinku

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

Zadanie 4.1a (1 pkt): najdłuższy okres bez opadów (dni z zerem) z datą początku i końca. Licznik `run` rośnie w dni bez wody i zeruje się w dni z opadem; przy nowym rekordzie początek to dzień sprzed `run - 1` dni. Dla wycinka: 13 dni, od 20.05.2022 do 01.06.2022.

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.1a najdłuższy ciąg dni bez opadów (0 litrów)
best, best_start, best_end = 0, "", ""
run = 0
for k, (text, day, water) in enumerate(days):
    if water == 0:
        run = run + 1
        if run > best:
            best, best_start, best_end = run, days[k - run + 1][0], text
    else:
        run = 0

print("4.1a", best, best_start, best_end)

Ł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.