Python NAPTÁR oktatóanyag példával

Naptár modul be Python rendelkezik a naptár osztályával, amely lehetővé teszi a különböző feladatok számítását dátum, hónap és év alapján. Ezen felül a TextCalendar és a HTMLCalendar osztály Python lehetővé teszi a naptár szerkesztését és igény szerinti használatát.

Lássuk, mit tehetünk Python Naptár.

1. lépés) Futtassa a kódot.

NAPTÁR be Python

  • Code 1. sor: Az „import calendar” paranccsal kezdjük, amely importálja a modul összes osztályát.
  • Code 3. sor: A c= calendar.TextCalendar(calendar.SUNDAY) függvény arra utasítja az értelmezőt, hogy hozzon létre egy szöveges naptárat. A hónap kezdete vasárnap lesz. Python, akkor formázhatja a naptárat, és módosíthatja a hónap napját
  • Code 4. sor: str= c.formatmonth(2025,1) A 2025-ös év 1. hónapjától januárig tartó naptárát hozzuk létre.
  • Code 5. sor: a print str parancs kinyomtatja a kimenetet.

Változtassuk gyorsan az értéket vasárnapról csütörtökre, és ellenőrizzük a kimenetet

NAPTÁR be Python

Step 2) A naptárat HTML formátumban is kinyomtathatja, ez a funkció a fejlesztők számára hasznos, ha változtatni szeretnének a naptár megjelenésén és hangulatán.

NAPTÁR be Python

Step 3) Loops a hónap napjaiban a c.itermonthday (2025,4) használatával lekéri az adott hónap napjainak teljes számát.

NAPTÁR be Python

  • Amikor végrehajtja a kódot, hogy megkapja egy adott hónap napjainak teljes számát, mondja azt, hogy "április", akkor 30 napot fog kapni a kimenetben, de néhány nullát is fog látni ezekkel a napokkal az elején és néha a végén. .
  • A kimenetben lévő nullák azt jelentik, hogy a hét napja átfedésben van.ping hónap, ami azt jelenti, hogy nem tartozik ahhoz a hónaphoz.
  • Ezek a nullák azért jelennek meg a kimenetben, mert a kódjában a napot (csütörtököt) említette, tehát amikor meghívja a „c.itermonthdays” függvényt, a napokat csütörtöktől kezdi számolni, és előfordulhat, hogy a csütörtöki nap nem az 1-es dátummal kezdődik.st április 28-a lehetth vagy 29th márciustól, tehát amikor végrehajtja a kódot, a napokat 28-tól kezdi számolnith márciustól és az azt követő napoktól 1-igst április. Ezek a napok nullának számítanak, és a kimenetben ezek a nullák láthatók, és ugyanez vonatkozik a hónap végére is.
  • Tehát az 1-30. dátum kivételével az előző és az azt követő hónap összes dátuma nullaként jelenik meg a kimenetben.

Step 4) Lekérheti az adatokat a helyi rendszerből, például hónapok, hétköznapok stb

NAPTÁR be Python

  • Az itteni kimenet azt mutatja, hogy kinyomtattuk a hónapok nevét a helyi rendszerből. Hasonlóképpen lekérheti a hétköznapok nevét is, az alábbiak szerint
  • A kimenet a helyi rendszertől függ, tegyük fel, ha a helyi rendszere más országok, akkor az adott ország helyi beállításai szerint adja meg a kimenetet. Nálunk hónapok vannak, így nem lesz különbség, de ha egy hétről vagy napról van szó, akkor biztosan változni fog.

NAPTÁR be Python

Step 5) Lekérheti az adott nap listáját egy egész évre vonatkozóan. Például minden első napon van egy audit nap Monday egy hétből. Szeretné tudni az első dátumot Monday minden hónapra. Használhatja ezt a kódot

NAPTÁR be Python

  • mycal = calendar.monthcalendar(2025, month) létrehozza a hónap naptárát
  • Állítsa be a hét1 és hét2 változót a naptár első és második hetére
  • Ellenőrizze, hogy az 1. hét tartalmaz-e Monday, állítsa be az ellenőrzési napot
  • Ellenkező esetben az ellenőrzési napot állítsa be elsőként Monday a 2. héten
  • A kimenet az első dátumát mutatja Monday ami arra a hónapra esik.
  • Ennek a Cal objektumnak a hossza egy bizonyos hosszúságú lesz, attól függően, hogy hány hét van a hónapban. A mi esetünkben először egy vagy kettő lesz Monday a hét leggyakrabban az első héten lesz, de ha nem, akkor fontolja meg a második hetet. Nézzük meg részletesen, miért is gondoljuk a második hetet.
  • Itt a naptári állandót használjuk Monday, a naptárobjektum olyan konstansokat ad, amelyek a vasárnapot jelentik, Monday, kedd, így tovább, így tovább. Ezeket láttuk már korábban. Tehát, ha az első héten a nap által képviselt Monday konstans nem egyenlő 0-val, ne feledje, hogy a nullák olyan napokat jelentenek, amelyek egy másik hónaphoz tartoznak. Tehát ebben az esetben, ha nulla, akkor a Monday amely az előző hónaphoz tartozik. De ha az első Monday nem egyenlő 0-val, ez azt jelenti, hogy az ellenőrzési napom az első héten belül lesz. Ellenkező esetben, ha ez 0, akkor az első Monday nem a hónap első hetében van, hanem a második hetében.
  • Tehát akkor azt mondom, oké, állítsa be az ellenőrzési nap változómat a következőre Monday a második hét képviseli. Tehát az audit nap az első vagy a második hét bármely napjával vissza fog térni.

Itt a teljes kód

Python 2 Példa

import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print str

# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
str = hc.formatmonth(2025, 1)
print str
# loop over the days of a month
# zeroes indicate that the day of the week is in a next month or overlapping month
for i in c.itermonthdays(2025, 4):
    print i

    # The calendar can give info based on local such a names of days and months (full and abbreviated forms)
    for name in calendar.month_name:
        print name
    for day in calendar.day_name:
        print day
    # calculate days based on a rule: For instance an audit day on the second Monday of every month
    # Figure out what days that would be for each month, we can use the script as shown here
    for month in range(1, 13):
		# It retrieves a list of weeks that represent the month
        mycal = calendar.monthcalendar(2025, month)
		# The first MONDAY has to be within the first two weeks
        week1 = mycal[0]
        week2 = mycal[1]
        if week1[calendar.MONDAY] != 0:
            auditday = week1[calendar.MONDAY]
        else:
        # if the first MONDAY isn't in the first week, it must be in the second week
        	auditday = week2[calendar.MONDAY]
print "%10s %2d" % (calendar.month_name[month], auditday)

Python 3 Példa

import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print(str)

# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
str = hc.formatmonth(2025, 1)
print(str)
# loop over the days of a month
# zeroes indicate that the day of the week is in a next month or overlapping month
for i in c.itermonthdays(2025, 4):
    print(i)

    # The calendar can give info based on local such a names of days and months (full and abbreviated forms)
    for name in calendar.month_name:
        print(name)
    for day in calendar.day_name:
        print(day)
    # calculate days based on a rule: For instance an audit day on the second Monday of every month
    # Figure out what days that would be for each month, we can use the script as shown here
    for month in range(1, 13):
		# It retrieves a list of weeks that represent the month
        mycal = calendar.monthcalendar(2025, month)
		# The first MONDAY has to be within the first two weeks
        week1 = mycal[0]
        week2 = mycal[1]
        if week1[calendar.MONDAY] != 0:
            auditday = week1[calendar.MONDAY]
        else:
        # if the first MONDAY isn't in the first week, it must be in the second week
        	auditday = week2[calendar.MONDAY]
print("%10s %2d" % (calendar.month_name[month], auditday))

Összegzésként

  • In Python, akkor a kívánt módon formázhatja a naptárat, és módosíthatja a hónap napját
  • Nyomtassa ki a naptárat HTML formátumban
  • Az adatok lekérése a helyi rendszerből, például hónapok vagy hétköznapok
  • Töltse le az adott nap listáját egy egész évre vonatkozóan

Foglald össze ezt a bejegyzést a következőképpen: