w3resource

Python: Check whether a given month and year contains a Monday 13th

Python Basic - 1: Exercise-130 with Solution

Write a Python program to check whether a given month and year contains a Monday 13th.

Sample Solution-1:

Python Code:

# Import the 'date' class from the 'datetime' module.
from datetime import date

# Define a function 'test' that checks if the 13th day of a given month and year is a Monday.
def test(month, year): 
    # Create a date object for the 13th day of the given month and year.
    # Use the 'strftime' method to get the day of the week (e.g., 'Monday').
    is_monday_13th = date(year, month, 13).strftime("%A") == 'Monday'
    
    # Convert the result to a string and return it.
    return str(is_monday_13th)

# Provide values for the first test case (month=11, year=2022).
month = 11
year = 2022

# Print information about the first test case.
print("Month No.: ", month, " Year: ", year)
# Print the result of checking whether the 13th day of the given month and year is a Monday using the 'test' function.
print("Check whether the said month and year contain a Monday 13th.: " + test(month, year))

# Provide values for the second test case (month=6, year=2022).
month = 6
year = 2022

# Print information about the second test case.
print("\nMonth No.: ", month, " Year: ", year)
# Print the result of checking whether the 13th day of the given month and year is a Monday using the 'test' function.
print("Check whether the said month and year contain a Monday 13th.: " + test(month, year))

Sample Output:

Month No.:  11  Year:  2022
Check whether the said month and year contains a Monday 13th.: False

Month No.:  6  Year:  2022
Check whether the said month and year contains a Monday 13th.: True

Explanation:

Here is a breakdown of the above Python code:

  • Import Module:
    • Import the 'date' class from the 'datetime' module.
  • Define Test Function (test function):
    • The "test()" function is defined to check if the 13th day of a given month and year is a Monday.
    • It creates a date object for the 13th day of the given month and year and uses "strftime" to get the day of the week.
    • The result is compared to 'Monday', and the boolean result is converted to a string.

Flowchart:

Flowchart: Python - Check whether a given month and year contains a Monday 13th.

Sample Solution-2:

Python Code:

# Import the 'calendar' module to work with calendar-related functions.
import calendar

# Define a function 'test' that checks if the 13th day of a given month and year is a Monday.
def test(month, year): 
    # Use the 'calendar.weekday' function to get the day of the week (0 for Monday) for the 13th day of the given month and year.
    is_monday_13th = calendar.weekday(year, month, 13) == 0
    
    # Convert the result to a string and return it.
    return str(is_monday_13th)

# Provide values for the first test case (month=11, year=2022).
month = 11
year = 2022

# Print information about the first test case.
print("Month No.: ", month, " Year: ", year)
# Print the result of checking whether the 13th day of the given month and year is a Monday using the 'test' function.
print("Check whether the said month and year contain a Monday 13th.: " + test(month, year))

# Provide values for the second test case (month=6, year=2022).
month = 6
year = 2022

# Print information about the second test case.
print("\nMonth No.: ", month, " Year: ", year)
# Print the result of checking whether the 13th day of the given month and year is a Monday using the 'test' function.
print("Check whether the said month and year contain a Monday 13th.: " + test(month, year))

Sample Output:

Month No.:  11  Year:  2022
Check whether the said month and year contains a Monday 13th.: False

Month No.:  6  Year:  2022
Check whether the said month and year contains a Monday 13th.: True

Explanation:

Here is a breakdown of the above Python code:

  • Import Module:
    • Import the 'calendar' module to work with calendar-related functions.
  • Define Test Function (test function):
    • The "test()" function is defined to check if the 13th day of a given month and year is a Monday.
    • It uses the 'calendar.weekday' function to get the day of the week (0 for Monday) for the 13th day of the given month and year.
    • The result is compared to 0 (Monday), and the boolean result is converted to a string.

Flowchart:

Flowchart: Python - Check whether a given month and year contains a Monday 13th.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to get the index number of all lower case letters in a given string.
Next: Write a Python program to count number of zeros and ones in the binary representation of a given integer.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

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/basic/python-basic-1-exercise-130.php