Python 3.6中日历的输出格式

时间:2018-07-26 08:05:07

标签: python-3.x datetime printing calendar format

我想用日历格式来格式化输出。我已经尝试过使用print语句,但是由于行和列未正确对齐而无法达到预期的效果。有人可以帮助我格式化和对齐输出吗?在这里,我分享了用Python 3.6编写的整个代码。我之前问过的同一question,但没有得到任何答复。但是这段代码比我以前的代码好一点。

import calendar
import datetime     
tamil_day = ('Monday','Tuesday','Wednesday','Thusday','Friday','Saturday','Sunday')
tamil_month = ('Chithirai','Vaikasi','Aani','Aadi','Aavani','Puratasi','Ipasi','Karthikai','Maargali','Thai','Masi','Panguni')
'''SAKA year Each month starting day in AD year 1st position for common year and 0th position for leap year'''

saka_month_starting_day_in_ad = (21,22,21,22,22,23,23,23,23,22,22,21,20)

'''equal month in AD year for SAKA month starting'''
ad_month = (3,3,4,5,6,7,8,9,10,11,12,1,2)

''' number of days in each month in SAKA year. add one ine more day each month for calculation'''
no_days_in_saka_month = (31,30,31,31,31,31,31,30,30,30,30,30,30)

def saka_month(saka_year,month):
    ad_year = saka_year+78
    saka_month = []
    temp = 0
    if month == 1 and calendar.isleap(ad_year):
        first_day = datetime.date(ad_year,ad_month[month],saka_month_starting_day_in_ad[month-1]).weekday()
    else:
        first_day = datetime.date(ad_year,ad_month[month],saka_month_starting_day_in_ad[month]).weekday()
    while first_day != temp:
        saka_month.append(str('  '))
        temp+=1
    for day in range(1,(no_days_in_saka_month[month]+1)):
        saka_month.append(str(day))
        if day == no_days_in_saka_month[month] and calendar.isleap(ad_year):
            saka_month.append(str(day+1))
    for i in range(0,42,7):
         print(*saka_month[i:i+7],sep='           ',end='\n')
         print('\n')

def saka_year_print(saka_year):
    for month in range(0,12):
        print('{:*^80}'.format(tamil_month[month]))
        print('\n')
        print(*tamil_day,sep='     ')
        print('\n','\n','\n')
        saka_month(saka_year,month)

1 个答案:

答案 0 :(得分:0)

我找到了解决我问题的方法。只需为每个列表元素添加str.center()即可。在我的代码中第47,50和52行,您可以添加center()函数,以便我们可以在月视图中获得对齐的矩阵日历类型。 谢谢