Coding for KidsCoding for Kids
Niveluri CreativeProvocăriGhid pentru Profesori
Votează pentru funcții
Curs Avansat de Dezvoltare Python
Capitolul
>
Nivel

Modulele de șiruri și timp
Modul Calendar

Obiectiv

Verifică calendarul și setează datele pentru unele dintre termenele de livrare folosind modulul Calendar.

Au sosit mai multe transporturi și există programe care trebuie respectate astfel încât acestea să poată fi distribuite în jurul noii construcții a fermei. Anterior am folosit modulul date pentru a configura etichetele de expediere, iar acum vom seta programele folosind modulul calendar. Pentru a utiliza clasele și funcțiile modulului, folosește import calendar pentru a importa toate materialele relevante.

Pentru scopurile noastre, vom utiliza următoarele funcții din modulul calendar:

  • calendar.calendar(): Afișează calendarul complet al anului, primește un argument (anul pe care dorești să-l afișezi).
  • calendar.month(): Afișează un calendar pentru o singură lună, primește două argumente: anul și luna.
  • calendar.isleap(): Verifică dacă un an este bisect, primește un argument (anul de verificat).
  • calendar.leapdays(): Verifică numărul de zile bisecte acumulate de-a lungul anilor, primește două argumente reprezentând anii pe perioada pe care dorești să o verifici.
  • itermonthdays(): Folosește clasa Calendar(), iterează prin toate zilele din lună, primește două argumente: anul și luna.
  • itermonthdates(): Folosește clasa Calendar(), iterează prin toate datele din lună, primește două argumente: anul și luna.
  • monthdayscalendar(): Folosește clasa Calendar(), iterează prin toate săptămânile din lună, primește două argumente: anul și luna. Stochează datele într-o listă imbricată.
  • monthdays2calendar(): La fel ca funcția anterioară, dar stochează săptămânile și zilele împreună într-o listă bidimensională.

Pentru a începe, mergi la semnul X de aur și verifică calendarul, creează o variabilă numită cal și stochează valoarea lui calendar.calendar() adăugând anul 2026 ca argument, astfel: cal = calendar.calendar(2026). Folosește funcția display() pentru a afișa variabila cal pe care tocmai ai configurat-o.

După ce ai verificat și afișat calendarul, mergi la semnul X luminos și verifică tabelul de pe birou. Folosește funcția read() pentru a verifica memo-ul referitor la luna programată a aprovizionării. Creează două variabile, una numită year și una numită month, și completează-le cu informațiile citite.

Creează o variabilă numită calendar_month și stochează valoarea funcției calendar.month() folosind variabilele year și month ca argumente. Folosește funcția display() pentru a afișa luna din calendar care va fi utilizată pentru a seta programele de distribuție.

Mergi la semnul X întunecat de pe covorul verde, aici vom nota câteva puncte de date pentru a ne asigura că programele nu sunt decalate. Creează două variabile, una numită leap_year și una numită leap_days. Pentru variabila leap_year, stochează rezultatul lui calendar.isleap() și setează 2026 ca argument. Acest lucru îți va permite să verifici dacă anul proiectului curent este bisect. Pentru variabila leap_days, stochează valoarea lui calendar.leapdays() și adaugă valorile 2020 și 2027 ca argumente. Acest lucru verifică numărul de zile bisecte care au avut loc pe parcursul duratei proiectului. Folosește funcția write() predefinită și adaugă variabilele leap_year și leap_days pentru a înregistra datele.

Mergi la semnul X întunecat de pe covorul roșu și îndreaptă-te spre birou, aici vom contura programul lunar. Creează o variabilă numită date și stochează valoarea lui calendar.Calendar(), aceasta creează un obiect de clasă la care ne putem referi ulterior. Creează o altă variabilă numită day_roster și seteaz-o ca un șir de caractere gol, astfel: day_roster = "".

În editor este predefinit un ciclu for care iterează prin calendar și conturează datele. Folosește funcția itermonthdays() și adaugă variabilele year și month pe care le-ai creat anterior ca argumente. Adaugă elementele lipsă după cum este necesar pentru a completa registrul.

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

După ce ciclul este configurat, continuă prin crearea unei copii a acestui ciclu, însă înlocuiește funcția itermonthdays() cu itermonthdates() și adaugă variabilele year și month ca argumente. Pentru variabila entry, configurează înregistrarea datelor astfel: entry = "%s \n" % (day). Acestea ne vor oferi datele complete ale duratei proiectului. Folosește funcția display() predefinită cu variabila day_roster pentru a afișa registrul complet al zilelor proiectului în calendar.

Mergi la semnul X întunecat de pe covorul albastru și uită-te la memo, aici vom configura săptămânile de lucru de urmărire a proiectului catalogate în liste. Creează o variabilă numită weeks și stochează valoarea lui calendar.Calendar(), acesta creează un obiect de clasă pe care îl putem referi cu funcțiile. Modifică valoarea variabilei month la 7 pentru a avansa în programul cu care lucrăm, astfel: month = 7.

Creează o variabilă numită week_roster și seteaz-o ca un șir de caractere gol, astfel: week_roster = "". În editor este predefinit un ciclu for care iterează prin calendar și conturează zilele săptămânii. Folosește funcția monthdayscalendar() și adaugă variabilele year și month pe care le-ai creat anterior ca argumente. Adaugă elementele lipsă după cum este necesar pentru a completa registrul.

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

După ce ciclul este configurat, continuă prin crearea unei copii a acestui ciclu, însă înlocuiește funcția monthdayscalendar() cu monthdays2calendar() și adaugă variabilele year și month ca argumente. Acestea ne vor oferi datele complete ale duratei proiectului. Folosește funcția display() predefinită cu variabila week_roster pentru a afișa registrul complet al zilelor lucrătoare din calendarul proiectului, pentru a finaliza nivelul.

Carte de Cod