# A month has five full weekends when it has 31 days, and the 1st day of the month is a Friday.
import datetime
# ------------------------------------------------------------
# Month names as a single reusable constant
# ------------------------------------------------------------
month_names = [
"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
]
# ------------------------------------------------------------
# Function: returns true if a month has 5 full weekends
# ------------------------------------------------------------
def has_five_full_weekends(year, month):
first_day = datetime.date(year, month, 1)
days_in_month = (datetime.date(year, month % 12 + 1, 1) -
datetime.timedelta(days=1)).day \
if month != 12 else 31
weekday = first_day.weekday() # Monday=0 ... Friday=4 ... Sunday=6
return (days_in_month == 31 and weekday == 4) # Friday
# ------------------------------------------------------------
# Main program
# ------------------------------------------------------------
def main():
y_value = 2026
for m in range(1, 13):
if has_five_full_weekends(y_value, m):
print(f"{month_names[m - 1]} {y_value} has five full weekends.")
if __name__ == "__main__":
main()
"""
run:
May 2026 has five full weekends.
"""