Výukový program pro Python CALENDAR s příkladem

Anonim

Modul kalendáře v Pythonu má třídu kalendáře, která umožňuje výpočty pro různé úkoly na základě data, měsíce a roku. Kromě toho vám třída TextCalendar a HTMLCalendar v Pythonu umožňuje upravit kalendář a použít jej podle vašich požadavků.

Podívejme se, co můžeme dělat s Python Calendar.

Krok 1) Spusťte kód.

  • Řádek kódu 1: Začínáme s „kalendářem importu“, který naimportuje všechny třídy tohoto modulu.
  • Řádek kódu 3: c = calendar.TextCalendar (calendar.SUNDAY) říká tlumočníkovi, aby vytvořil textový kalendář. Začátek měsíce bude neděle. V Pythonu můžete kalendář formátovat, protože můžete změnit den v měsíci
  • Řádek kódu 4: str = c.formatmonth (2025,1) Vytváříme kalendář pro rok 2025, 1. měsíc - leden
  • Řádek kódu 5: print str vytiskne výstup.

Rychle změňme hodnotu z neděle na čtvrtek a zkontrolujte výstup

Krok 2) Kalendář si můžete také vytisknout ve formátu HTML, tato funkce je užitečná pro vývojáře, pokud chtějí provádět jakékoli změny ve vzhledu a chování kalendáře

Krok 3) Smyčky po dnech měsíce pomocí c.itermonthday (2025,4), načte celkový počet dní pro daný měsíc.

  • Když spustíte kód, abyste získali celkový počet dní v konkrétním měsíci, řekněte „duben“, dostanete na výstupu 30 dní, ale na začátku a někdy na konci uvidíte také několik nul spolu s těmito dny .
  • Nuly ve výstupu znamenají, že den v týdnu je v překrývajícím se měsíci, což znamená, že do daného měsíce nepatří.
  • Tyto nuly se objeví ve výstupu, protože ve vašem kódu jste uvedli den (čtvrtek), takže když zavoláte funkci „c.itermonthdays“, začne počítat dny od čtvrtka a váš čtvrtek nemusí začínat datem 1. dubna, může bylo 28 th a 29 th března, takže při spouštění kódu začne počítání dnů od 28 th pochodu a dny, po které se do 1. st dubna. Tyto dny se budou počítat jako nula a ve výstupu uvidíte tyto nuly a totéž platí pro konec měsíce.
  • Takže kromě data 1-30 se všechna data z předchozího i post měsíce objeví ve výstupu jako nuly.

Krok 4) Data můžete načíst z místního systému, například měsíce nebo pracovní dny atd

  • Výstup zde ukazuje, že jsme vytiskli název měsíce z místního systému. Podobně můžete také načíst název ve všední dny, jak je uvedeno níže
  • Výstup bude záviset na místním systému, předpokládejme, že pokud je vaším místním systémem několik dalších zemí, bude výstup poskytován podle místního nastavení dané země. Tady máme měsíce, takže to nebude rozdíl, ale pokud je týden nebo den, určitě se to bude lišit.

Krok 5) Můžete načíst seznam konkrétního dne po celý rok. Například auditní den je každé první pondělí v týdnu. Chcete znát datum prvního pondělí pro každý měsíc. Tento kód můžete použít

  • mycal = calendar.monthcalendar (2025, měsíc) vytvoří kalendář pro měsíc
  • Nastavte proměnné week1 a week2 na první a druhý týden kalendáře
  • Zkontrolujte, zda 1. týden obsahuje pondělí, nastavte den auditu
  • Jinak nastavte den auditu jako první pondělí ve 2. týdnu
  • Výstup zobrazuje datum prvního pondělí, které spadá do daného měsíce.
  • Délka tohoto Cal objektu bude určitá délka, podle toho, kolik týdnů v měsíci je. V našem případě to bude jedna nebo dvě, takže první pondělí v týdnu bude nejčastěji v prvním týdnu, ale pokud ne, zvažte druhý týden. Podívejme se podrobně, proč uvažujeme také o druhém týdnu.
  • Zde používáme konstantní pondělí kalendáře, objekt kalendáře vám dává konstanty, které představují neděli, pondělí, úterý atd. Atd. Už jsme je viděli. Pokud tedy v prvním týdnu den představovaný pondělní konstantou není roven 0, nezapomeňte, že nuly znamenají dny, které patří jinému měsíci. Takže v tomto případě, pokud je nula, bude to pondělí, které patří předchozímu měsíci. Pokud ale první pondělí není rovno 0, znamená to, že můj auditní den bude v prvním týdnu. Jinak, pokud je to 0, pak první pondělí není v prvním týdnu měsíce, musí to být ve druhém.
  • Pak tedy řeknu dobře, nastavím proměnnou mého dne auditu na pondělí představované druhým týdnem. Den auditu se tedy vrátí s jakýmkoli dnem prvního nebo druhého týdne.

Zde je kompletní kód

Příklad Pythonu 2

importovat kalendář# Vytvořte prostý textový kalendářc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)tisk str# Vytvořte kalendář ve formátu HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)tisk str# smyčka během dnů měsíce# nuly označují, že den v týdnu je v příštím měsíci nebo překrývajícím se měsícipro i v c. italské dny (2025, 4):tisknout i# Kalendář může poskytovat informace na základě místních takových názvů dnů a měsíců (plné a zkrácené formuláře)pro jméno v calendar.month_name:název tiskupro den v kalendáři. den_jméno:tiskový den# vypočítat dny na základě pravidla: Například den auditu každé druhé pondělí v měsíci# Zjistěte, jaké dny by to byly pro každý měsíc, můžeme použít skript, jak je znázorněno zdepro měsíc v rozsahu (1, 13):# Načte seznam týdnů, které představují měsícmycal = calendar.monthcalendar (2025, měsíc)# První PONDĚLÍ musí být během prvních dvou týdnůweek1 = mycal [0]week2 = mycal [1]pokud 1. týden [kalendář.MONDAY]! = 0:auditday = týden 1 [kalendář.MONDAY]jiný:# pokud první PONDĚLÍ není v prvním týdnu, musí to být ve druhém týdnuauditday = 2. týden [kalendář.MONDAY]vytisknout "% 10s% 2d"% (calendar.month_name [měsíc], auditday)

Příklad Pythonu 3

importovat kalendář# Vytvořte prostý textový kalendářc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)tisk (str)# Vytvořte kalendář ve formátu HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)tisk (str)# smyčka během dnů měsíce# nuly označují, že den v týdnu je v příštím měsíci nebo překrývajícím se měsícipro i v c. italské dny (2025, 4):tisk (i)# Kalendář může poskytovat informace na základě místních takových názvů dnů a měsíců (plné a zkrácené formuláře)pro jméno v calendar.month_name:tisk (jméno)pro den v kalendáři. den_jméno:tisk (den)# vypočítat dny na základě pravidla: Například den auditu každé druhé pondělí v měsíci# Zjistěte, jaké dny by to byly pro každý měsíc, můžeme použít skript, jak je znázorněno zdepro měsíc v rozsahu (1, 13):# Načte seznam týdnů, které představují měsícmycal = calendar.monthcalendar (2025, měsíc)# První PONDĚLÍ musí být během prvních dvou týdnůweek1 = mycal [0]week2 = mycal [1]pokud 1. týden [kalendář.MONDAY]! = 0:auditday = týden 1 [kalendář.MONDAY]jiný:# pokud první PONDĚLÍ není v prvním týdnu, musí to být ve druhém týdnuauditday = 2. týden [kalendář.MONDAY]print ("% 10s% 2d"% (calendar.month_name [měsíc], auditday))

Souhrn:

  • V Pythonu můžete kalendář formátovat tak, jak chcete, protože můžete změnit začátek dne v měsíci
  • Vytiskněte si kalendář ve formátu HTML
  • Načíst data z místního systému, například měsíce nebo pracovní dny
  • Načíst seznam konkrétního dne po celý rok