Python KALENTERI Opetusohjelma esimerkillä

Kalenterimoduuli sisään Python on kalenteriluokka, joka mahdollistaa laskelmat erilaisille tehtäville päivämäärän, kuukauden ja vuoden perusteella. Sen lisäksi TextCalendar- ja HTMLCalendar-luokka sisään Python voit muokata kalenteria ja käyttää sitä tarpeidesi mukaan.

Katsotaan mitä voimme tehdä Python Kalenteri.

Vaihe 1) Suorita koodi.

KALENTERI sisään Python

  • Koodirivi # 1: Aloitamme "tuontikalenterilla", joka tuo kaikki tämän moduulin luokat.
  • Koodirivi # 3: c= kalenteri.TextCalendar(calendar.SUNDAY) käskee tulkin luomaan tekstikalenterin. Kuukauden alku on sunnuntai. sisään Python, voit muotoilla kalenterin samalla kun voit muuttaa kuukauden päivää aluksi
  • Koodirivi # 4: str= c.formatmonth(2025,1) Luomme kalenterin vuodelle 2025, kuukausi 1 – tammikuu
  • Koodirivi #5: print str tulostaa tulosteen.

Muutetaan arvo nopeasti sunnuntaista torstaihin ja tarkistetaan tulos

KALENTERI sisään Python

Vaihe 2) Voit myös tulostaa kalenterin HTML-muodossa. Tämä ominaisuus on hyödyllinen kehittäjille, jos he haluavat tehdä muutoksia kalenterin ulkoasuun ja tuntumaan.

KALENTERI sisään Python

Vaihe 3) Loops kuukauden päivinä käyttämällä c.itermonthday (2025,4) -toimintoa, se hakee kyseisen kuukauden päivien kokonaismäärän.

KALENTERI sisään Python

  • Kun suoritat koodin saadaksesi tietyn kuukauden päivien kokonaismäärän, sano "huhtikuu", niin saat 30 päivää ulostulossa, mutta näet myös nollia näiden päivien kanssa sen alussa ja joskus lopussa. .
  • Tuloksen nollat ​​tarkoittavat, että viikonpäivä on päällekkäisessä kuukaudessa, mikä tarkoittaa, että se ei kuulu kyseiseen kuukauteen.
  • Nämä nollat ​​näkyvät tulosteessa, koska olet maininnut koodissasi päivän (torstai), joten kun kutsut funktiota "c.itermonthdays", se alkaa laskea päiviä torstaista ja torstai ei välttämättä ala päivämäärällä 1.st huhtikuuta, se voi olla 28th tai 29th maaliskuuta, joten kun suoritat koodin, se alkaa laskea päiviä 28th maaliskuuta ja sen jälkeisinä päivinä 1st huhtikuuta. Nämä päivät lasketaan nollaksi ja tulosteessa näet nämä nollat ​​ja sama pätee kuun loppuun.
  • Joten paitsi päivämäärä 1-30, kaikki päivämäärät edelliseltä ja kuukauden jälkeiseltä ajalta näkyvät lähdössä nollina.

Vaihe 4) Voit hakea tiedot paikallisesta järjestelmästä, kuten kuukausia tai arkipäiviä jne

KALENTERI sisään Python

  • Tuloste täällä osoittaa, että olemme tulostaneet kuukausien nimen paikallisesta järjestelmästä. Samoin voit myös hakea arkipäivien nimen alla olevan kuvan mukaisesti
  • Tulos riippuu paikallisesta järjestelmästä. Oletetaan, että jos paikallinen järjestelmäsi on jokin muu maa, se antaa lähdön kyseisen maan paikallisten asetusten mukaisesti. Meillä on kuukausia, joten sillä ei ole eroa, mutta jos se on viikko tai päivä, se varmasti vaihtelee.

KALENTERI sisään Python

Vaihe 5) Voit hakea listan tietystä päivästä koko vuodelta. Esimerkiksi joka ensimmäinen on tarkastuspäivä Monday viikosta. Haluat tietää ensimmäisen päivämäärän Monday jokaiselle kuukaudelle. Voit käyttää tätä koodia

KALENTERI sisään Python

  • mycal = calendar.monthcalendar(2025, month) luo kalenterin kuukaudelle
  • Aseta muuttujat viikko1 ja viikko2 kalenterin ensimmäiselle ja toiselle viikolle
  • Tarkista sisältääkö viikko 1 Monday, aseta tarkastuspäivä
  • Muuten aseta tarkastuspäivä ensimmäiseksi Monday viikolla 2
  • Tulos näyttää päivämäärän ensimmäiselle Monday joka osuu siihen kuukauteen.
  • Tämän Cal-objektin pituus tulee olemaan tietty pituus sen mukaan, kuinka monta viikkoa siellä kuukaudessa on. Meidän tapauksessamme se tulee olemaan ensin yksi tai kaksi sellaisenaan Monday viikon on useimmiten ensimmäisellä viikolla, mutta jos ei, harkitse toista viikkoa. Katsotaanpa yksityiskohtaisesti, miksi harkitsemme myös toista viikkoa.
  • Tässä käytetään kalenterin vakiota Monday, kalenteriobjekti antaa sinulle vakiot, jotka edustavat sunnuntaita, Monday, Tiistai, niin edelleen, niin edelleen. Olemme nähneet nämä aiemmin. Joten, jos viikolla yksi päivä, jota edustaa Monday vakio ei ole 0, muista, että nollat ​​tarkoittavat päiviä, jotka kuuluvat toiseen kuukauteen. Joten tässä tapauksessa, jos se on nolla, se on a Monday joka kuuluu edelliseen kuukauteen. Mutta jos ensimmäinen Monday ei ole yhtä suuri kuin 0, mikä tarkoittaa, että tarkastuspäiväni on viikon sisällä. Muussa tapauksessa, jos se on 0, niin ensimmäinen Monday ei ole kuun ensimmäisellä viikolla, sen täytyy olla toisella.
  • Joten sanon okei, aseta tarkastuspäivämuuttujani arvoksi Monday edustaa viikko kaksi. Joten tarkastuspäivä tulee takaisin, olipa päivä mikä tahansa, joko ensimmäisellä tai toisella viikolla.

Tässä on täydellinen koodi

Python 2-esimerkki

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

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

Yhteenveto

  • In Python, voit muotoilla kalenterin haluamallasi tavalla ja vaihtaa kuukauden alkamispäivää
  • Tulosta kalenteri HTML-muodossa
  • Hae tiedot paikallisesta järjestelmästä, kuten kuukausia tai arkipäiviä
  • Hae luettelo tietystä päivästä koko vuodelle