我用Python创建了印度国历函数,如下所示:
import calendar
import datetime
'Days in Tamil names. first day start from 0-Monday and 6- sunday. similar to ISO format'
tamil_day = ('திங்கள்','செவ்வாய்','புதன்','வியாழன்','வெள்ளி','சனி','ஞாயிறு')
'months in Tamil names. first month start from 0-Chithirai and 11-panguni. similar to ISO format'
tamil_months = ('சித்திரை','வைகாசி','ஆணி','ஆடி','ஆவணி','புரட்டாசி','ஐப்பசி','கார்த்திகை','மார்கழி','தை','மாசி','பங்குனி')
'''reference date for Indian Saka Era
Saka Era 1876 is equal to 1954-55AD or Saka 1875-76 is equal to 1954
March 22,1954 is Chithirai 1,1876 Saka as Indian new year
'''
saka_year_AD_reference = datetime.date(1954,3,22)
saka_year_reference = 1876
saka_year_offset = 78
tamil_first_day_reference = calendar.firstweekday()
tamil_first_month_reference = tamil_months[0]
'''
number of days in each tamil month
normal year- chithirai-30days;
leap year- chithirai-31 days
'''
days_in_month_normal_year = (30,31,31,31,31,31,30,30,30,30,30,30)
days_in_month_leap_year = (31,31,31,31,31,31,30,30,30,30,30,30)
'Enter the year to print the calendar'
year = 1876
'find the year is leap year or not'
def tamil_leap_year(year):
leap=year+saka_year_offset
return calendar.isleap(leap)
'find the first day in given year'
def tamil_first_day_in_year(year):
offset_compensation = year+saka_year_offset
if tamil_leap_year(year):
return calendar.weekday(offset_compensation,3,21)
else:
return calendar.weekday(offset_compensation,3,22)
def print_year(year):
if tamil_leap_year(year)!=True:
day_count = tamil_first_day_in_year(year)
for i in range(12):
print('\n','{:*^16}'.format(tamil_months[i]),' \n','_______________')
for i in range(1,(1+days_in_month_normal_year[i])):
print('{:<2}'.format(i),"|",'{: <2}'.format(tamil_day[day_count]),'\n',end='')
day_count = day_count+1
if i<=31:
if day_count==7:
day_count = 0
continue
else:
break
else:
day_count = tamil_first_day_in_year(year)
for i in range(12):
print(tamil_months[i],'|')
for i in range(1,(1+days_in_month_leap_year[i])):
print(i,"|",tamil_day[day_count])
day_count = day_count+1
if i<=31:
if day_count==7:
day_count = 0
continue
else:
break
print(print_year(year))
我想打印输出的月份和类似的公历类似如下
^{pr2}$不幸的是,我是Python的初学者,我不知道如何创建一个循环来创建month表的框架。有谁能帮我解决这个问题吗?在
首先将整数转换为字符串,然后添加位置函数作为center()。问题解决了。 谢谢你
相关问题 更多 >
编程相关推荐