Python 学习日记day 2

python练习案例100例(每天坚持一粒,按时服下)

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

输入年份 为了求是否为闰年,月份求前几个月的天数,则求出这一天是这一年的第几天就是需要先求闰年,然后求现在月份之前的天数,之后与这个月天数相加而得到天数。

题目答案代码:

year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day =  int(input("请输入某一个月份的天数:"))
 
#将月份逐渐相加添加到列表中
months = [0,31,59,90,120,151,181,212,243,273,304,334]
if 0 < month <= 12:
    sum = months[month-1]
else:
    print("超出了年份的范围,年月份是你家定的啊!")
sum += day
if ((year % 400 == 0) or (year %4 == 0) and (year % 100 != 0)):
    if(month > 2):
        sum += 1
print('这一天是这一年的%d日'%sum)

我的版本:

Year = int(input('请输入年份:'))
Month = int(input('请输入月份:'))
Day = int(input('请输入天数:'))
 
if (Year%4==0andYear%100!=0)orYear%400==0:#判断语句,判断是否为闰年
    if Month < 8:
        a=(Month + 1) // 2
        b=30*(Month-1)+a-1+Day
    else:
        a =Month//2-3
        b=30*(Month-8)+213+a+Day    #闰年时候的计算过程
else:
    if 3<=Month<8:
        a=(Month+1)//2
        b=30*(Month-1)+a-2+Day
    elif Month<3:
        a=Month//2
        b=30*(Month-1)+a+Day
    else:
        a=Month//2-3
        b=30*(Month-8)+212+a+Day
print('您现在处于第%s天' % b)

用了很多冗余的语句,当时在if 判断语句 判断如何才能选择出闰年的时候想了很长时间,最后才发现可以先判断 "能被四整除但不能被100整除,或者能被400整除"这个语句就可以直接判断是否为闰年。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值