Coding for KidsCoding for Kids
Poziomy KreatywneWyzwaniaPrzewodnik dla Nauczycieli
Głosuj na funkcje
Zaawansowany kurs programowania w Pythonie
Rozdział
>
Poziom

Moduły łańcuchów znaków i czasu
Moduł Kalendarza

Cel

Sprawdź kalendarz i ustaw daty dla niektórych terminów dostaw przy użyciu modułu Calendar.

Wiele przesyłek dotarło, a harmonogramy muszą być dotrzymywane, aby mogły być rozdzielone w trakcie budowy nowej farmy. Wcześniej używaliśmy modułu date do ustawiania etykiet wysyłkowych, teraz ustawimy harmonogramy za pomocą modułu calendar. Aby korzystać z klas i funkcji modułu, użyj import calendar aby zaimportować wszystkie niezbędne materiały.

Do naszych celów będziemy używać następujących funkcji modułu calendar:

  • calendar.calendar(): Wyświetla pełny kalendarz na rok, przyjmuje jeden (1) argument, którym jest rok, który chcesz wyświetlić.
  • calendar.month(): Wyświetla kalendarz dla pojedynczego miesiąca, przyjmuje dwa (2) argumenty, rok i miesiąc.
  • calendar.isleap(): Sprawdza, czy rok jest rokiem przestępnym, przyjmuje jeden (1) argument, którym jest rok do sprawdzenia.
  • calendar.leapdays(): Sprawdza liczbę dni przestępnych zgromadzonych w ciągu lat, przyjmuje dwa (2) argumenty, które obejmują okres, który chcesz sprawdzić.
  • itermonthdays(): Korzysta z klasy Calendar(), iteruje przez wszystkie dni w miesiącu, przyjmuje dwa argumenty: rok i miesiąc.
  • itermonthdates(): Korzysta z klasy Calendar(), iteruje przez wszystkie daty w miesiącu, przyjmuje dwa argumenty: rok i miesiąc.
  • monthdayscalendar(): Korzysta z klasy Calendar(), iteruje przez wszystkie tygodnie w miesiącu, przyjmuje dwa argumenty: rok i miesiąc. Przechowuje dane w zagnieżdżonej liście.
  • monthdays2calendar(): To samo co poprzednia funkcja, ale przechowuje tygodnie i dni razem w dwuwymiarowej liście.

Na początek, przejdź do złotego znaku X i sprawdź kalendarz, utwórz zmienną o nazwie cal i przypisz do niej wartość calendar.calendar() dodając rok 2026 jako argument, w ten sposób: cal = calendar.calendar(2026). Użyj funkcji display(), aby wyświetlić zmienną cal, którą właśnie utworzyłeś.

Po sprawdzeniu i wyświetleniu kalendarza, udaj się do jasnego znaku X i sprawdź arkusz kalkulacyjny na biurku. Użyj funkcji read(), aby sprawdzić notatkę dotyczącą zaplanowanego miesiąca daty dostawy. Utwórz dwie zmienne, jedną o nazwie year i drugą o nazwie month, i wypełnij je odczytanymi informacjami.

Utwórz zmienną o nazwie calendar_month i przypisz do niej wartość funkcji calendar.month() używając zmiennych year i month jako argumentów. Użyj funkcji display(), aby wyświetlić kalendarz miesiąca, który zostanie użyty do ustawienia harmonogramów dystrybucji.

Przejdź do ciemnego znaku X na zielonym dywanie, tutaj zanotujemy kilka punktów danych, aby upewnić się, że harmonogramy nie są przesunięte. Utwórz dwie zmienne, jedną o nazwie leap_year i drugą o nazwie leap_days. Dla zmiennej leap_year przypisz wynik funkcji calendar.isleap() z argumentem 2026. Pozwoli to zweryfikować, czy bieżący rok projektu jest rokiem przestępnym. Dla zmiennej leap_days przypisz wartość funkcji calendar.leapdays() i podaj wartości: 2020 i 2027 jako argumenty. To zweryfikuje liczbę dni przestępnych, które wystąpiły w trakcie całego trwania projektu. Użyj wstępnie zdefiniowanej funkcji write() i dodaj leap_year oraz leap_days, aby zapisać dane.

Przejdź do ciemnego znaku X na czerwonym dywanie i podejdź do biurka, tutaj ustalimy harmonogram miesiąca. Utwórz zmienną o nazwie date i przypisz do niej wartość calendar.Calendar(), co utworzy obiekt klasy, do którego możemy później odwołać się. Utwórz kolejną zmienną o nazwie day_roster i przypisz do niej pusty ciąg znaków, co pozwoli nam przechowywać listę dni w formie tekstowej. Na przykład: day_roster = "".

W edytorze wstępnie zdefiniowano pętlę for, która iteruje przez kalendarz i wypisuje daty. Użyj funkcji itermonthdays() i podaj zmienne year oraz month, które wcześniej utworzyłeś, jako argumenty. Dodaj brakujące elementy w razie potrzeby, aby zsumować listę dni.

for day in dates.itermonthdays(-insert value-, -insert value-): entry = "Day: %s \n" % (day) day_roster += entry

Gdy pętla jest już ustawiona, powtórz ją, tworząc jej duplikat, ale zastąp funkcję itermonthdays() funkcją itermonthdates() i podaj zmienne year oraz month jako argumenty. Dla zmiennej entry zapisz dane w następujący sposób: entry = "%s \n" % (day). Dzięki temu uzyskamy pełne daty trwania projektu. Użyj wstępnie zdefiniowanej funkcji display() z zmienną day_roster, aby wyświetlić pełną listę dni projektu w kalendarzu.

Przejdź do ciemnego znaku X na niebieskim dywanie i podejdź do notatki, tutaj ustawimy tygodnie pracy związane z projektem, skatalogowane w listach. Utwórz zmienną o nazwie weeks i przypisz do niej wartość calendar.Calendar(), co utworzy obiekt klasy, który możemy odwołać się przy pomocy funkcji. Zmień wartość zmiennej month na 7, aby przejść do harmonogramu, nad którym pracujemy, w ten sposób: month = 7.

Utwórz zmienną o nazwie week_roster i przypisz do niej pusty ciąg znaków, co pozwoli nam przechowywać listę tygodni w formie tekstowej. Na przykład: week_roster = "". W edytorze wstępnie zdefiniowano pętlę for, która iteruje przez kalendarz i wypisuje dni tygodnia. Użyj funkcji monthdayscalendar() i podaj zmienne year oraz month, które wcześniej utworzyłeś, jako argumenty. Dodaj brakujące elementy w razie potrzeby, aby zsumować listę.

for day in weeks.monthdayscalendar(-insert value-, -insert value-): entry = "%s \n" % (day) week_roster += entry

Gdy pętla jest już ustawiona, powtórz ją, tworząc jej duplikat, ale zastąp funkcję monthdayscalendar() funkcją monthdays2calendar() i podaj zmienne year oraz month jako argumenty. Dzięki temu uzyskamy pełne daty trwania projektu. Użyj wstępnie zdefiniowanej funkcji display() z zmienną week_roster, aby wyświetlić pełną listę dni roboczych projektu w kalendarzu i ukończyć poziom.

Księga Kodów