python判断某年是否为闰年的程序_Python 学习--从0到1(4. 题3)

'''3. 题目:输入某年某月某日,判断这一天是这一年的第几天?(if elif else基本语句入门)
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,
闰年且输入月份大于2时需考虑多加一天'''
y =int(input('输入年份:'))
if y % 4 == 0 and y % 100 != 0:  # 判断是否是闰年(请百度闰年的定义)
        add = 1
elif y % 400 == 0:  #继续判断是否是闰年,如果是闰年全年在二月份要加一天喂29天。
        add = 1
else:
        add = 0  # 表示不是闰年增加的天数为0
m =int(input('输入月份:'))
if m > 12 or m < 1:
        print('输入错误!')
else:
    d = int(input('输入日期:'))
    if d > 31 or d < 1:  # 输入天数大于31输出错误信息
            print('输入错误!')
    elif 7 > m > 2 and m % 2 == 0 and d > 30:  # 输入偶数月天数大于30输出错误信息
            print('输入错误!')
    elif m == 2 and add == 0 and d > 28:  # 非润年输入2月天数大于28输出错误信息
            print('输入错误!')
    elif m == 2 and add == 1 and d > 29:  # 润年输入2月天数大于29输出错误信息
            print('输入错误!')
    elif m > 7 and m % 2 != 0 and d > 30: # 输入偶数月天数大于30输出错误信息
            print('输入错误!')
    else:
        if 8 > m > 2:
            sum = (m - 1) * 31 - (m - 1) // 2 + d + add - 2  # 天数计算公式(每月31天-2月及偶数月少的天数)
        elif 7 < m:
            sum = 4 * 31 + 3 * 30 + add - 2 + (m-8) * 31 + d - (m-8) // 2
        else:
            sum = (m - 1) * 31 + d
        print('这天是这一年的第', sum, '天')
print('Game over')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值