(python)输入某年某月某日,判断这一天是这一年的第几天?

题目输入某年某月某日,判断这一天是这一年的第几天?

此题的关键在于判断闰年和平年:
闰年二月为29天,平年二月为28天!
如果年份能被4整除且不能被100整除的,或者能被400整除的为闰年,其余为平年!

代码如下

x=input("please enter the date:(such as:2020.2.1 )")
a,b,c=x.split(".")
a=int(a)
b=int(b)
c=int(c)
d=[0,31,28,31,30,31,30,31,31,30,31,30,31]
sum=0
if a%4==0 and a%100!=0 or a%400==0:#为闰年,二月为29
    d[2]=29
    for i in range(b):
        sum+=d[i]
    print("The day is ",sum+c)
else:
    d[2]=28
    for i in range(b):
        sum+=d[i]
    print("The day is ",sum+c)

解释如下:

1:因为input()输入的是字符串,我们需要对它进行类型转换:如a=int(a)转换为整型
2:以数组的形式对月份排列:d=[0,31,28,31,30,31,30,31,31,30,31,30,31]
3:用for循环对月份的天数进行相加:for i in range(b): sum+=d[i]
4:最后再加上天数等于总天数:sum+c

就这样啦!
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加辣椒了吗?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值