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

Module de șiruri și timp
Modul Dată/Timp

Obiectiv

Ajustează înregistrările și stabilește datele de expediere pentru materiale folosind funcțiile modulului Date & Time.

Parterul anexei noii zone de construcție este un depozit ce conține unele din materialele livrate recent, care au fost ambalate și sunt gata de expediere către diverse zone din jurul noii construcții. Acestea trebuie etichetate cu datele și orele corecte, iar orice etichetă deja aplicată trebuie să conțină toate informațiile relevante. Pentru a face acest lucru, am putea să ne luăm timpul necesar pentru a scrie și formata manual datele și orele, însă există o modalitate mult mai rapidă, folosind modulul de dată și oră.

Modulul de dată și oră este importat scriind import datetime, acesta deblochează o serie de funcții puternice care îți permit să citești și să setezi ore și date formate, pe care le poți stoca în obiecte. De asemenea, poți folosi: from datetime import timezone, timedelta pentru a seta fusurile orare. Următoarele funcții sunt deblocate prin importarea modulului:

  • datetime.datetime(): Îți permite să setezi și să stochezi o oră la alegerea ta, acceptă mai mulți parametri, după cum urmează: year, month, day, hour, minute, second, microsecond, timezone. Nu este necesar să introduci toți parametrii, ci doar pe cei pe care dorești să îi folosești.
  • datetime.datetime.now(): Returnează data și ora curentă exact așa cum ar apărea pe un ceas.
  • datetime.datetime.date(): Returnează doar data din datetime, fără oră inclusă
  • datetime.datetime.time(): Returnează doar ora din datetime, fără dată inclusă
  • datetime.datetime.timestamp(): Returnează timestamp-ul datetime ca un cod UNIX.
  • timezone(): Îți permite să setezi un fus orar pentru a fi folosit cu parametrii de dată și oră.
  • datetime.strftime(): Îți permite să extragi informații specifice despre dată și oră și să le formatezi după preferințe, folosind coduri specifice. Pentru scopurile noastre vom folosi următoarele coduri:
    • "%a" : Ziua săptămânii, prescurtată
    • "%d" : Ziua din lună
    • "%B" : Numele lunii, scris complet
    • "%I" : Ora, ciclu de 12 ore
    • "%M" : Minutul
    • "%p" : Meridianul, AM/PM
    • "%x" : Format local al datei
    • "%X" : Format local al orei
    • "%j" : Ziua din an
    • "%U" : Săptămâna din an
    • "%z" : Fusul orar UTC

Pentru a începe, mergi la semnul X luminos și îndreaptă-te spre birou, folosește funcția read() pentru a verifica datele de ambalare pentru expediții, precum și datele de început și sfârșit pentru proiecte. Notează datele de început și de sfârșit furnizate în document (luna/ziua/an). Primele trei (3) puncte de date scrise în memoriandum, precum și fusul orar, sunt pre-scrise în editorul de cod pentru a fi folosite ulterior în funcții.

În același spațiu, creează o variabilă numită today și stochează în ea valoarea returnată de datetime.datetime.now(). Folosește str() pentru a converti valoarea într-un string astfel încât să fie într-un format lizibil, astfel: today = str(datetime.datetime.now()). Folosește funcția display() pentru a nota data de astăzi în memoriandum, astfel data pentru alocările de expediere este setată și poți începe să adaugi punctele de date lipsă în zonele necesare.

Mergi la semnul X auriu de lângă birou și aici vom calcula și nota numărul de zile necesare pentru finalizarea proiectului. În editor sunt scrise două variabile numite start și end care stochează datetime. Notează datele de început și de sfârșit pe care le-ai citit anterior în spațiile prevăzute. Creează o variabilă numită result și stochează rezultatul scăderii dintre variabilele end și start. Folosește funcția str() pentru a converti valoarea într-un format lizibil, astfel: result = str(end-start). Folosește funcția write() pentru a nota variabila result, pentru a marca cât timp va dura.

De aici, vom trece la semnul X auriu de lângă covorul roșu și vom coborî la semnele X de lângă cutiile de pe covorul roșu din coloana din stânga. Aici vom adăuga părți specifice ale datelor de ambalare lipsă de pe cutii folosind datetime(). În editor va exista o dată pre-scrisă alocată variabilei red_date, vom extrage diverse bucăți de date și le vom folosi pentru a eticheta cutiile.

Pentru covorul roșu:

  • La semnul X auriu, îndreaptă-te spre cutii și creează o variabilă numită red_days, în care vei stoca data fără oră folosind date() din variabila red_date și, convert-o folosind str(), astfel: red_days = str(red_date.date()). Folosește funcția write() pentru a eticheta cutiile folosind red_days.

  • La semnul X luminos, îndreaptă-te spre cutii și creează o variabilă numită red_time, în care vei stoca ora fără dată folosind time() din variabila red_date și convert-o folosind str(), astfel: red_time = str(red_date.time()). Folosește funcția write() pentru a eticheta cutiile folosind red_time.

  • La semnul X întunecat, îndreaptă-te spre cutii și creează o variabilă numită red_timestamp, în care vei stoca timestamp-ul calculat din variabila red_date, astfel: red_timestamp = red_date.timestamp(). Folosește funcția write() pentru a eticheta cutiile folosind red_timestamp.

Continuă apoi cu trecerea la semnele X din fața cutiilor de pe covorul albastru. La fel ca înainte, există o serie de trei (3) semne X colorate, în acest caz referindu-se la variabila pre-scrisă blue_date pentru a completa etichetele. Parcurge coloana și folosește funcția strftime() pentru a adăuga elementele lipsă pe etichetele de expediere. Spre deosebire de funcțiile anterioare, aceasta necesită un cod specific pentru a extrage și formata elemente din data țintă. De exemplu, dacă dorim să obținem ziua săptămânii pentru variabila blue_date, vei folosi codul "%a" cu funcția strftime() astfel: blue_date.strftime("%a").

Pentru semnele X de lângă cutiile de pe covorul albastru, folosește funcția strftime() cu codul specific necesar. Examinează lista de coduri prezentată anterior, în funcție de cerințe. Pentru covorul albastru:

  • La semnul X auriu, îndreaptă-te spre cutii și creează o variabilă numită blue_weekday, în care vei stoca ziua săptămânii folosind strftime() din variabila blue_date astfel: blue_day = blue_date.strftime("%a"). Creează o altă variabilă numită blue_day și stochează ziua din lună folosind strftime() din variabila blue_date. Creează o altă variabilă numită blue_month și stochează numele lunii, scris complet, folosind strftime() din variabila blue_date. Inserează variabilele blue_weekday, blue_day și blue_month în funcția write() pre-scrisă.

  • La semnul X luminos, îndreaptă-te spre cutii și creează o variabilă numită blue_hour, în care vei stoca ora, ciclu de 12 ore, folosind strftime() din variabila blue_date. Creează o altă variabilă numită blue_minute și stochează minutul folosind strftime() din variabila blue_date. Creează o altă variabilă numită blue_meridian și stochează meridianul, AM/PM, folosind strftime() din variabila blue_date. Inserează variabilele blue_hour, blue_minute și blue_meridian în funcția write() pre-scrisă.

  • La semnul X întunecat, îndreaptă-te spre cutii și creează o variabilă numită blue_local_date, în care vei stoca formatul local al datei, folosind strftime() din variabila blue_date. Creează o altă variabilă numită blue_local_time și stochează formatul local al orei folosind strftime() din variabila blue_date. Inserează variabilele blue_local_date, blue_local_time și blue_meridian în funcția display() pre-scrisă.

În final, vom trece la semnul X auriu de lângă covorul verde și vom coborî la semnele X de lângă cutiile de pe covorul verde din coloana din dreapta. Aici vom continua să adăugăm părți specifice ale datelor de ambalare lipsă de pe cutii folosind strftime(). În editor va exista o dată pre-scrisă alocată variabilei green_date, vom extrage diverse bucăți de date și le vom folosi pentru a eticheta cutiile.

Pentru covorul verde:

  • La semnul X auriu, îndreaptă-te spre cutii și creează o variabilă numită green_day, în care vei stoca ziua din an folosind strftime() din variabila green_date. Folosește funcția write() pentru a eticheta cutiile folosind green_day.

  • La semnul X luminos, îndreaptă-te spre cutii și creează o variabilă numită green_week, în care vei stoca săptămâna din an folosind strftime() din variabila green_date. Folosește funcția write() pentru a eticheta cutiile folosind green_week.

  • La semnul X întunecat, îndreaptă-te spre cutii și creează o variabilă numită green_timezone, în care vei stoca fusul orar UTC folosind strftime() din variabila green_date. Folosește funcția write() pentru a eticheta cutiile folosind green_timezone.

Odată ce toate etichetele de la semnele X de lângă covoarele colorate au fost notate, nivelul va fi complet.

Carte de Cod