Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python CALENDAR-zelfstudie met voorbeeld

Kalendermodule in Python heeft de kalenderklasse die de berekeningen voor verschillende taken mogelijk maakt op basis van datum, maand en jaar. Bovendien kunt u met de TextCalendar- en HTMLCalendar-klasse in Python de kalender bewerken en gebruiken volgens uw vereisten.

Laten we eens kijken wat we kunnen doen met Python Calendar.

Stap1) Voer de code uit.

  • Coderegel # 1:We beginnen met "import kalender" die alle klassen van deze module zal importeren.
  • Coderegel # 3:c=calendar.TextCalendar(calendar.SUNDAY) vertelt de interpreter om een ​​tekstkalender te maken. Begin van de maand is zondag. In Python kun je de kalender opmaken zoals je de dag van de maand kunt veranderen om mee te beginnen
  • Coderegel # 4:str=c.formatmonth(2025,1) We maken een kalender voor het jaar 2025, maand 1 – januari
  • Coderegel #5:print str drukt de uitvoer af.

Laten we snel de waarde veranderen van zondag naar donderdag en de output controleren

Stap 2) U kunt de kalender ook in HTML-indeling afdrukken, deze functie is handig voor ontwikkelaars als ze wijzigingen willen aanbrengen in het uiterlijk van de kalender

Stap 3) Loopt over de dagen van een maand door c.itermonthday (2025,4) te gebruiken, het haalt het totale aantal dagen voor die maand op.

  • Als u de code uitvoert om het totale aantal dagen voor een specifieke maand te krijgen, zeg "April", dan krijgt u 30 dagen in de uitvoer, maar u ziet ook enkele nullen samen met deze dagen aan het begin en soms aan het begin einde ervan.
  • Nullen in de uitvoer betekenen dat de dag van de week in een overlappende maand valt, wat betekent dat deze niet bij die maand hoort.
  • Deze nullen verschijnen in de uitvoer omdat je in je code dag (donderdag) hebt genoemd, dus als je de functie "c.itermonthdays" aanroept, begint het dagen te tellen vanaf donderdag en je donderdag mag niet beginnen met datum 1 st van april is het misschien 28 de of 29 de van maart, dus als je de code uitvoert, begint het dagen te tellen vanaf 28 de van maart en alle dagen daarna tot 1 st van april. Deze dagen worden als nul geteld en in de output zie je deze nullen en hetzelfde geldt voor het einde van de maand.
  • Dus behalve datum 1-30 verschijnen alle datums van de vorige en de postmaand in de uitvoer als nullen.

Stap 4) U kunt de gegevens ophalen van het lokale systeem, zoals maanden of weekdagen, enz.

  • De uitvoer hier laat zien dat we de naam van de maand uit het lokale systeem hebben afgedrukt. Op dezelfde manier kunt u ook de naam van de weekdagen ophalen, zoals hieronder weergegeven
  • De uitvoer is afhankelijk van het lokale systeem, stel dat als uw lokale systeem een ​​ander land is, het de uitvoer zal geven volgens de lokale instellingen van dat land. Hier hebben we maanden, dus het zal geen verschil zijn, maar als het een week of een dag is, zal het zeker verschillen.

Stap 5) U kunt de lijst van de specifieke dag voor een heel jaar ophalen. Zo is er elke eerste maandag van de week een controledag. U wilt voor elke maand de datum van de eerste maandag weten. U kunt deze code gebruiken

  • mycal =calendar.monthcalendar(2025, month) maakt een kalender voor de maand
  • Stel variabelen week1 en week2 in op de eerste en tweede week van de kalender
  • Controleer of week 1 maandag bevat, stel auditdag in
  • Stel anders de auditdag in als de eerste maandag in week 2
  • De uitvoer toont de datum voor de eerste maandag die in die maand valt.
  • De lengte van dit Cal-object zal een bepaalde lengte hebben, gebaseerd op het aantal weken in de maand. In ons geval zullen het er een of twee zijn, aangezien de eerste maandag van de week het vaakst in de eerste week zal zijn, maar als dat niet het geval is, overweeg dan de tweede week. Laten we eens in detail bekijken waarom we ook rekening houden met de tweede week.
  • Hier gebruiken we de kalenderconstante maandag, het kalenderobject geeft je constanten die zondag, maandag, dinsdag enzovoort vertegenwoordigen. We hebben deze eerder gezien. Dus als in week één de dag die wordt vertegenwoordigd door de constante van maandag niet gelijk is aan 0, onthoud dan nullen betekent dagen die bij een andere maand horen. Dus in dit geval, als het nul is, wordt het een maandag die bij de vorige maand hoort. Maar als de eerste maandag niet gelijk is aan 0, betekent dat dat mijn controledag binnen de week één zal vallen. Anders, als dat 0 is, valt de eerste maandag niet in de eerste week van de maand, maar in de tweede.
  • Dus, dan zeg ik oké, stel mijn controledagvariabele in op de maandag die wordt vertegenwoordigd door week twee. Dus de auditdag komt terug met wat de dag ook is voor de eerste of tweede week.

Hier is de volledige code

Python 2 voorbeeld

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 voorbeeld

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

Samenvatting:

  • In Python kun je de kalender opmaken zoals je wilt, omdat je de dag van de maand kunt veranderen om te beginnen
  • Druk de kalender af in HTML-formaat
  • De gegevens ophalen van het lokale systeem, zoals maanden of weekdagen
  • Haal de lijst van de specifieke dag voor een heel jaar op

Python

  1. C# Abstract Class-zelfstudie met voorbeeld:wat is abstractie?
  2. Python String strip() Functie met VOORBEELD
  3. Python String count() met VOORBEELDEN
  4. Python round() functie met VOORBEELDEN
  5. Python map() functie met VOORBEELDEN
  6. Python Timeit() met voorbeelden
  7. Opbrengst in Python-zelfstudie:voorbeeld van generator en rendement versus rendement
  8. Python-teller in verzamelingen met voorbeeld
  9. Python List count() met VOORBEELDEN
  10. Python Lijst index() met Voorbeeld
  11. Python - Extensie programmeren met C