Python输入一个年份输出全年日历

2021-01-28 15:04:06 浏览数 (1)

参考链接: 显示日历的Python程序

技术无罪,分享只为大家共同成长 

题目:已知1990年1月1号是星期一,公元1年1月1日也是星期一。要求输出某年的日历。 

def isr(year):#判断是否为闰年

    if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:

        return True

def isd(year):#判断输入年份的第一天是周几

    s = 0

    d = 1

    #如果年份大于1900,则通过1900计算;如果小于1900,则通过公元1年计算

    if year >= 1900:

        while year > 1900:

            year -= 1

            if isr(year):

                s = 366

            else:

                s = 365

                #将1900与所给年份之间所有天数求和

    else:

        while year > 1:

            year -= 1

            if isr(year):

                s = 366

            else:

                s = 365

                #将1与所给年份之间的所有天数求和

    d = s % 7

    return d

def show(year, d, l):#输出日历

    for i in range(12):

        print(i 1, "月")

        print("一t二t三t四t五t六t日")

        t = []

        a = 0

        for j in range(1, l[i] 1):

            t.append(j)

            #将每一个日期写入列表中,用于循环输出

        print("t"*(d - 1), sep='', end='')

        #用t控制间隔,end表示不换行

        while a <= len(t) - 1:

            if d <= 7:

                print(t[a], "t", sep='', end='')

                a = 1

                d = 1

            else:

                print()

                d = 1

        print()

r = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

p = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

year = eval(input("请输入年份:"))

d = isd(year)

if isr(year):

    show(year, d, r)

else:

    show(year, d, p)

0 人点赞