【多少个星期天】Python

【多少个星期天】
题目内容:
根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上?

a)  1900.1.1是星期一
b)  1月,3月,5月,7月,8月,10月和12月是31天
c)  4月,6月,9月和11月是30天
d)  2月是28天,在闰年是29天
e)  公元年数能被4整除且又不能被100整除是闰年
f)  能直接被400整除也是闰年

输入格式:无。
输出格式:一个正整数。(答案171)

我们要计算1901年1月1日到2000年12月31日间共有多少个星期天落在每月的第一天上?

条件a给出的是 1900.1.1是星期一;

month = [31,28,31,30,31,30,31,31,30,31,30,31]
day = 0
sum_1 = 0
#从1901年开始
for year in range(1901,2001):
	#判断闰年  闰年的二月29天
    if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
        month[1] = 29
        
    for mon in range(1,13):
        day += month[mon - 1]
        if day % 7 == 0:
            sum_1 += 1
print(sum_1)
month = [31,28,31,30,31,30,31,31,30,31,30,31]
day = 6
sum_1 = 0
for year in range(1900,2001):
    for mon in range(1,13):
	#判断闰年  闰年的二月29天
        if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
            month[1] = 29
        day += month[mon - 1]
        if day % 7 == 0 and year>1900:
            sum_1 += 1
print(sum_1)

countday=1
total=0


for year in range(1900,2001):
    for month in range(1,13):
        if month==1:day=31
        elif month==2:
            if (year%4==0 and year%100!=0) or year%400==0:day=29
            else:day=28
        elif month==3:day=31
        elif month==4:day=30
        elif month==5:day=31
        elif month==6:day=30
        elif month==7:day=31
        elif month==8:day=31
        elif month==9:day=30
        elif month==10:day=31
        elif month==11:day=30
        else:day=31
        countday+=day
        if (countday%7)==0 and year>1900:
            total+=1 
print (total)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值