4.1b Podlewanie ogródka w wycinku

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

Zadanie 4.1b (1 pkt): ile razy od 1 kwietnia do 30 września podlewano ogródek. Podlewanie jest piątego dnia bez opadów, a przy dłuższej suszy także dziesiątego, piętnastego itd.: licznik dni bez opadów podzielny przez 5. Funkcja `garden` przyda się też w zadaniu 4.3. Dla wycinka (kwiecień-czerwiec): 9 razy.

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)))

def garden(day, dry):
    # podlewanie od 1.04 do 30.09 w 5., 10., 15., ... dniu bez opadów
    return date(day.year, 4, 1) <= day <= date(day.year, 9, 30) and dry > 0 and dry % 5 == 0

# 4.1b licznik dni bez opadów zeruje deszcz
watering, dry = 0, 0
for text, day, water in days:
    dry = dry + 1 if water == 0 else 0
    if garden(day, dry):
        watering = watering + 1

print("4.1b", watering)

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