4_一年的第几天

# -*- coding=UTF-8 -*-
'''
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,
特殊情况,闰年且输入月份大于2时需考虑多加一天:
'''
#方法一:利用time模板计算
import time

D = input("请输入年份,格式如XXXX-XX-XX:")
day = time.strptime(D,'%Y-%m-%d').tm_yday
print(day)

#方法二:利用闰年平年各月份天数计算
leap = lambda y: (y%400 == 0) or ((y%4 == 0) and (y%100 != 0))
monthArr = [31,28,31,30,31,30,31,31,30,31,30,31]
T = D.split('-')
if leap(int(T[0])): monthArr[1] += 1

month = int(T[1])
day = int(T[2])
for i in range(12):
    if month > i+1:
        day += monthArr[i]

print(day)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值