python万年历时钟_2017/05/25 Python输出万年历

该博客展示了如何使用Python编写一个万年历程序,包括判断闰年的逻辑、获取每个月的天数以及计算星期的方法。通过用户输入年份和月份,程序会输出该月的日历,同时解释了代码中关于计算星期的难点。
摘要由CSDN通过智能技术生成

#!/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 ☺

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值