任意输入一个月份,输出上月本月下月的日历,要求连续

python任意输入一个月份,输出上月本月下月的日历,要求连续

代码
#-*-codeing = utf-8 -*-
#@Time : 2020/11/17 23:55
#@Author : 宋俊育
#@File : 任意输入一个月份,输出上月本月下月的日历,要求连续.py
#@Software : PyCharm
from datetime import datetime

def drawCalendar(year, month):
    dateday = []
    if month == 1:
        someday = datetime((year - 1), 12, 1)
        firstDay = someday.isoweekday()
        firstD = firstDay;
        for i in range(firstDay):
            dateday.append(" ")
        for i in range(1, 32):
            dateday.append(i)
        for i in range(1, 32):
            dateday.append(i)
        if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
            for i in range(1, 30):
                dateday.append(i)
        else:
            for i in range(1, 29):
                dateday.append(i)
    elif month == 12:
        someday = datetime(year, 11, 1)
        firstDay = someday.isoweekday()
        firstD = firstDay;
        for i in range(1, 31):
            dateday.append(i)
        for i in range(1, 32):
            dateday.append(i)
        for i in range(1, 32):
            dateday.append(i)
    else:
        someday = datetime(year, (month - 1), 1)
        firstDay = someday.isoweekday()
        firstD = firstDay;
        for i in range(firstDay):
            dateday.append(" ")
        for j in range((month - 1), (month + 2)):
            if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0) and j == 2:
                for i in range(1, 30):
                    dateday.append(i)
            elif j in [1, 3, 5, 7, 8, 10, 12]:
                for i in range(1, 32):
                    dateday.append(i)
            elif j == 2:
                for i in range(1, 29):
                    dateday.append(i)
            elif j in [4, 6, 9, 11]:
                for i in range(1, 31):
                    dateday.append(i)
    print(" Mo    Tu    We    Th    Fr    Sa    Su", end="")
    for i in range(0, len(dateday)):
        print("{0: >3}   ".format(dateday[i]), end="")
        if i % 7 == 0:
            print("")

year = eval(input("请输入年份:"))
month = eval(input("请输入月份:"))
drawCalendar(year, month)
运行:

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值