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 ☺

你可能感兴趣的:(2017/05/25 Python输出万年历)