编写程序提示用户输入年份以及该年的第一天是星期几,然后在控制台上显示该年的日历表

year = eval(input("请输入年份:"))
day = eval(input("请输入该年的第一天是星期几:"))
lst1 = ["January","February","March","April","May","June","July","August","September","October","November","December"]

def is_leapyear(year):
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        return True
    else:
        return False

if is_leapyear(year):
    for j in range(1,13):
        print("      %d,%s"%(year,lst1[j-1]))
        print("Sun Mon Tue Wed Thr Fri Sat ")
        print("    " * day,end = "")

        if j == 1 or j == 3 or j == 5 or j == 7 or j == 8 or j == 10 or j == 12:
            for i in range(1,32):
                print(format(str(i),"4s"),end = "")
                if (i + day) % 7 == 0:
                    print()
            day =(i + day) % 7
            print()
        elif j == 2:
            for k in range(1,30):
                print(format(str(k),"4s"),end = "")
                if (k + day) % 7 == 0:
                    print()
            day =(k + day) % 7
            print()
        else :
            for l in range(1,31):
                print(format(str(l),"4s"),end = "")
                if (l + day) % 7 == 0:
                    print()
            day =(l + day) % 7
            print()
else:
    for a in range(1,13):
        print("      %d,%s"%(year,lst1[a-1]))
        print("Sun Mon Tue Wed Thr Fri Sat ")
        print("    " * day,end = "")

        if a == 1 or a == 3 or a == 5 or a == 7 or a == 8 or a == 10 or a == 12:
            for z in range(1,32):
                print(format(str(z),"4s"),end = "")
                if (z + day) % 7 == 0:
                    print()
            day =(z + day) % 7
            print()
        elif a == 2:
            for x in range(1,29):
                print(format(str(x),"4s"),end = "")
                if (x + day) % 7 == 0:
                    print()
            day =(x + day) % 7
            print()
        else :
            for c in range(1,31):
                print(format(str(c),"4s"),end = "")
                if (c + day) % 7 == 0:
                    print()
            day =(c + day) % 7
            print()
# 思路:
# (1)先打印出一月份的日历
# (2)确认需要循环的程序
# (3)判断平年闰年
# (4)实现打印日历

这是打印一整年的日历

猜你喜欢

转载自www.cnblogs.com/yzdmh/p/12340704.html