Python: Display a list of the dates for the 2nd Saturday of every month for a given year
Python Datetime: Exercise-47 with Solution
Write a Python program display a list of the dates for the 2nd Saturday of every month for a given year.
Sample Solution:
Python Code:
# Import the calendar module
import calendar
# Show every month
for month in range(1, 13):
# Generate the month calendar for the year 2020 and the current month
cal = calendar.monthcalendar(2020, month)
# Extract the first, second, and third weeks of the month
first_week = cal[0]
second_week = cal[1]
third_week = cal[2]
# If a Saturday is present in the first week, the second Saturday
# is in the second week. Otherwise, the second Saturday must be in the third week.
if first_week[calendar.SATURDAY]:
holi_day = second_week[calendar.SATURDAY]
else:
holi_day = third_week[calendar.SATURDAY]
# Print the month abbreviation and the date of the second Saturday of the month
print('%3s: %2s' % (calendar.month_abbr[month], holi_day))
Output:
Jan: 11 Feb: 8 Mar: 14 Apr: 11 May: 9 Jun: 13 Jul: 11 Aug: 8 Sep: 12 Oct: 10 Nov: 14 Dec: 12
Explanation:
In the exercise above,
- The code imports the "calendar" module.
- It iterates over each month (from January to December) using a "for" loop with the "range()" function.
- Inside the loop:
- It generates the month calendar for the year 2020 and the current month using the "monthcalendar()" function of the "calendar" module.
- It extracts the first, second, and third weeks of the month from the generated calendar.
- It checks if a Saturday is present in the first week. If so, it assigns the second Saturday of the month to the variable 'holi_day' from the second week. Otherwise, it assigns the second Saturday from the third week.
- It prints the month abbreviation and the date of the second Saturday of the month using string formatting with %3s for the month abbreviation and %2s for the date.
Flowchart:
Python Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Python program to create a HTML calendar with data for a specific year and month.
Next: Write a Python program to display a simple, formatted calendar of a given year and month.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/python-exercises/date-time-exercise/python-date-time-exercise-47.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics