Python: Display a simple, formatted calendar of a given year and month
Python Datetime: Exercise-48 with Solution
Write a Python program to display a simple, formatted calendar of a given year and month.
Sample Solution:
Python Code:
import calendar
print('Print a calendar for a year and month:')
month = int(input('Month (mm): '))
year = int(input('Year (yyyy): '))
print('\n')
calendar.setfirstweekday(calendar.SUNDAY)
cal = calendar.monthcalendar(year, month)
if len(str(month)) == 1:
month = '0%s' % month
# Header
print('|++++++ %s-%s +++++|' % (month, year))
print('|Su Mo Tu We Th Fr Sa|')
print('|--------------------|')
# display calendar
border = '|'
for week in cal:
line = border
for day in week:
if day == 0:
# 3 spaces for blank days
line += ' '
elif len(str(day)) == 1:
line += ' %d ' % day
else:
line += '%d ' % day
# remove space in last column
line = line[0:len(line) - 1]
line += border
print(line)
print('|--------------------|\n')
Sample Output:
Print a calendar for a year and month: Month (mm): 05 Year (yyyy): 2017 |++++++ 05-2017 +++++| |Su Mo Tu We Th Fr Sa| |--------------------| | 1 2 3 4 5 6| | 7 8 9 10 11 12 13| |14 15 16 17 18 19 20| |21 22 23 24 25 26 27| |28 29 30 31 | |--------------------|
Flowchart:

Python Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Python program display a list of the dates for the 2nd Saturday of every month for a given year.
Next: Write a Python program to convert a string into datetime.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
Python: Tips of the Day
Decapitalizes the first letter of a string:
Example:
def tips_decapitalize(s, upper_rest=False): return s[:1].lower() + (s[1:].upper() if upper_rest else s[1:]) print(tips_decapitalize('PythonTips')) print(tips_decapitalize('PythonTips', True))
Output:
pythonTips pYTHONTIPS
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook