Python_计算输入的日期是这一年的多少天

分析思考过程:

1.从控制台分别输入年、月、日,使用input

2.计算日期,手动计算过程

如:2022年10月16日

1(31)+2(28/29)+3(31)+4(30)+5(31)+6(30)+7(31)+8(31)+9(30)     +16

如:2022年9月16日

1(31)+2(28/29)+3(31)+4(30)+5(31)+6(30)+7(31)+8(31)                +16

如:2022年8月16日

1(31)+2(28/29)+3(31)+4(30)+5(31)+6(30)+7(31)                           +16

如:2022年2月16日

1(31)                                                                                                           +16

发现,每次计算都会是一个连续性的加法运算,并且这个连续中月份是有规律的

思考:

1.代码中如何能生成连续性的月份数字呢?循环可以生成

2.连续性加法每个月的天数不一样,怎么加?有没有规律?

    1/3/5/7/8/10/12-----31天

    4/6/9/11--------------30天

   2  闰年29天,非闰年28天

3.综上所述,可以写一个循环生成1到目标的月份,根据月份数字判断是多少天,然后累加运算

year =int(input('请输入年:'))
month =int(input('请输入月:'))
day =int(input('请输入日:'))
sum_day = 0

for i in range(1,month):
    #这个i代表要加的很多月份数字
    if i==1 or i==3 or i==5 or i==7 or i==8 or i==10 or i==12:
        sum_day +=31
    elif i==4 or i==6 or i==9 or i==11:
        sum_day +=30
    elif i==2:
        #根据月份来判断是否是闰年
        if(year%4==0 and year%100!=0)or year%400==0:
            sum_day+=29
        else:
            sum_day+=28
sum_day = sum_day+day
print(f'{year}年{month}月{day}日是{year}年的第{sum_day}天')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

up潇潇测试媛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值