2017 05 25 Python输出万年历

#!/usr/bin/env python
# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding("utf8")


def leap_year(year):  # 判断平瑞年  被4整除但不被100整除,或被400整除。
    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
        return True
    else:
        return False


def getMonthDays(year, month):  # 得到每个年份每月的天数
    days = 31
    if month == 2:
        if leap_year(year):#闰年29
            days = 29
        else:
            days = 28#平年28天
    elif month == 4 or month == 6 or month == 9 or month == 11:
        days = 30
    return days


def getTotalDays(year, month):  # 计算星期  用总天数
    totalDays = 0
    for i in range(1, year):
        if leap_year(i):
            totalDays += 366
        else:
            totalDays += 365
    for i in range(1, month):
        totalDays += getMonthDays(year, i)
    return totalDays


year = input("输入年份:")
month = input("请输入月:")
iCount = 0
print (getTotalDays(year, month))
print "日\t一\t二\t三\t四\t五\t六"
i = 1
for i in range((getTotalDays(year, month) % 7) + 1):
    print '\t',
    iCount += 1
for i in range(1, getMonthDays(year, month) + 1):
    print i, '\t',
    iCount += 1
    if iCount % 7 == 0:
        print ''
复制代码

最后这个用总天数求星期几的有些不懂,在网上查看了下资料 Third Day ☺

转载于:https://juejin.im/post/5a31e8515188257a3e4eabc4

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值