Python 输入年月日,判断是该年的第几天(注意有闰年的特殊情况)

#这里首先将每月的天数用列表存储(先没有考虑闰年的情况)
m=[31,28,31,30,31,30,31,31,30,31,30,31]
#print(m[1])#用来判断列表数据是否正确
sum=0##########这里有点类似于C语言的方法,就先将sum赋值为0,方便后续操作
year=int(input("请输入年"))
month=int(input("请输入月"))
day=int(input("请输入日"))
if year%100!=0 and year%4==0 or year%400==0:
    if month>2:
        for i in m[0:month-1]:#注意这里切片的方法是前包含,后不包含,所以加月份数时注意
            sum=sum+i#开始用的(sum=0+i)结果一直只能输出第一个月的天数,还是要像c一样的循环操作
        print(sum)#判断sum的值是否正确
        print("天数是{}+{}=第{}天".format(sum+1,day,sum+1+day))#此处加1,考虑闰年的情况
    elif month==2:
     print("天数是{}+{}=第{}天".format(m[0],day,m[0]+day))
    else:#okokokokokokokookokok
        print('111m[0]')
        print("天数是第{}天".format(int(day)))
else :
    for i in m[0:month-1]:
            sum=sum+i
    print('666m[0]')
    print("天数是{}+{}=第{}天".format(sum,day,int(sum+day)))

首先考虑如何存储天数,想到用列表存储,又要考虑到特殊情况即是否是闰年

根据题目要求将其分为两个部分:

(1)是闰年有if  elif  else分为三个部分分别对应3~12月的情况,2月的情况,1月的情况

(2)不是闰年,直接运用for循环语句

其中值得注意的点是,for循环加天数要注意切片的利用,才能加到对应的月份的天数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值