Python KALENDRI Õpetus koos näitega

Kalendri moodul sisse Python on kalendriklass, mis võimaldab arvutusi erinevate ülesannete jaoks kuupäeva, kuu ja aasta alusel. Lisaks on klassis TextCalendar ja HTMLCalendar Python võimaldab teil kalendrit muuta ja kasutada vastavalt oma nõudele.

Vaatame, millega saame hakkama Python Kalender.

Samm 1) Käivitage kood.

KALENDER sisse Python

  • Koodirida # 1: alustame "impordi kalendriga", mis impordib kõik selle mooduli klassid.
  • Koodirida # 3: c= kalender.TextCalendar(calendar.SUNDAY) käsib tõlgil luua tekstikalender. Kuu algus on pühapäev. sisse Python, saate kalendri vormindada nii, et saate alguses muuta kuu päeva
  • Koodirida # 4: str= c.formatmonth(2025,1) Koostame kalendri aastaks 2025, 1. kuu – jaanuar
  • Koodirida # 5: print str prindib väljundi.

Muudame kiiresti väärtuse pühapäevast neljapäevani ja kontrollime väljundit

KALENDER sisse Python

Step 2) Saate kalendri ka välja printida HTML-vormingus, see funktsioon on abiks arendajale, kui ta soovib kalendri välimuses ja olemises muudatusi teha

KALENDER sisse Python

Step 3) Silmus kuu päevade jooksul, kasutades c.itermonthday (2025,4), hangib see selle kuu päevade koguarvu.

KALENDER sisse Python

  • Kui käivitate koodi konkreetse kuu päevade koguarvu saamiseks, öelge "aprill", siis saate väljundis 30 päeva, kuid näete ka nulle koos nende päevadega selle alguses ja mõnikord lõpus .
  • Nullid väljundis tähendavad, et nädalapäev on kattuvas kuus, mis tähendab, et see ei kuulu sellesse kuusse.
  • Need nullid kuvatakse väljundis, kuna olete oma koodis maininud päeva (neljapäeva), nii et kui kutsute funktsiooni "c.itermonthdays", hakkab see päevi lugema alates neljapäevast ja teie neljapäev ei pruugi alata kuupäevaga 1st aprill võib olla 28th või 29th märtsil, nii et kui koodi käivitate, hakkab see päevi lugema alates 28th märtsil ja mis tahes päeva pärast seda kuni 1st aprillist. Need päevad loetakse nulliks ja väljundis näete neid nulle ja sama kehtib ka kuu lõpu kohta.
  • Seega, välja arvatud kuupäev 1-30, kuvatakse väljundis nullidena kõik eelmise ja kuujärgse kuu kuupäevad.

Step 4) Saate hankida andmeid kohalikust süsteemist (nt kuude või nädalapäevade jne kohta).

KALENDER sisse Python

  • Siin olev väljund näitab, et oleme kuu nime kohalikust süsteemist välja printinud. Samamoodi saate tuua ka nädalapäevade nime, nagu allpool näidatud
  • Väljund sõltub kohalikust süsteemist, oletame, et kui teie kohalik süsteem on mõni muu riik, annab see väljundi vastavalt selle riigi kohalikele seadistustele. Siin on kuud, nii et see ei erine, kuid kui see on nädal või päev, siis see kindlasti erineb.

KALENDER sisse Python

Step 5) Saate hankida konkreetse päeva loendi terve aasta kohta. Näiteks igal esimesel on auditipäev Monday nädalast. Tahad teada esimese kuupäeva Monday iga kuu kohta. Saate seda koodi kasutada

KALENDER sisse Python

  • mycal = calendar.monthcalendar(2025, month) loob kuu kalendri
  • Määrake muutujad nädal1 ja nädal2 kalendri esimeseks ja teiseks nädalaks
  • Kontrollige, kas 1. nädal sisaldab Monday, määrake auditi päev
  • Muidu seadke auditipäev esimeseks Monday 2 nädalal
  • Väljund näitab esimese kuupäeva kuupäeva Monday mis langeb sellesse kuusse.
  • Selle Cal-objekti pikkus on teatud pikkusega, mis põhineb sellel, mitu nädalat kuus seal on. Meie puhul on see kõigepealt üks või kaks Monday nädalast on kõige sagedamini esimesel nädalal, kuid kui mitte, siis kaaluge teist nädalat. Vaatame üksikasjalikult, miks kaalume ka teist nädalat.
  • Siin kasutame kalendri konstanti Monday, annab kalendriobjekt teile konstandid, mis tähistavad pühapäeva, Monday, teisipäev, nii edasi, nii edasi. Oleme neid varem näinud. Seega, kui esimesel nädalal tähistab päev Monday konstant ei ole võrdne 0-ga, pidage meeles, et nullid tähistavad päevi, mis kuuluvad teise kuusse. Seega, sel juhul, kui see on null, on see a Monday mis kuulub eelmisele kuule. Aga kui esimene Monday ei ole võrdne 0-ga, see tähendab, et minu auditipäev jääb esimese nädala sisse. Vastasel juhul, kui see on 0, siis esimene Monday ei ole kuu esimesel nädalal, see peab olema teisel nädalal.
  • Siis ütlen okei, määrake minu auditipäeva muutujaks Monday mida esindab teine ​​nädal. Seega naaseb auditipäev esimesel või teisel nädalal, mis iganes päev on.

Siin on täielik kood

Python 2 Näide

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 Näide

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))

kokkuvõte

  • In Python, saate kalendrit soovitud viisil vormindada, kuna saate alguses muuta kuu päeva
  • Printige kalender välja HTML-vormingus
  • Tooge andmed kohalikust süsteemist (nt kuud või nädalapäevad).
  • Hankige terve aasta konkreetse päeva loend