华为机考HJ73

计算日期到天数转换

http://www.nowcoder.com/questionTerminal/769d45d455fe40b385ba32f97e7bcded

歪瑞easy的一题!

####判断是否是闰年
def leap_year(year):
    if year%100==0:
        if year%4==0:
            flag=True
        else:
            flag=False
    else:
        if year%4==0:            
            flag=True
        else:
            flag=False
    return flag
#定义月份
days=[31,0,31,30,31,30,31,31,30,31,30,31]
while True:
    try:
        y, ***p(int, input().strip().split())
        #先抛出异常
        if (y<0 or m<1 or m>12 or d<1 or d>31 or (m==2 and d>29)):
            print(-1)
            break
        else:
            #进入正题
            if m==1:
                print(d)
            elif m==2:
                print(31+d)
            else:
                if leap_year(y):
                    days[1]=29
                    result=sum(days[:(m-1)])+d
                    print(result)
                else:
                    days[1]=28
                    result=sum(days[:(m-1)])+d
                    print(result)
    except:
        break
全部评论
如果输入2012 2 30应该返回-1 如果是2月,需要根据是否闰年判断日期是否符合要求吧
1 回复 分享
发布于 2021-03-13 23:07
其他都很好,唯独平年的2.29这个魔鬼日子会出错
点赞 回复 分享
发布于 2021-07-07 03:34
####判断是否是闰年 def leap_year(year): if((year%4==0 and year%100!=0) or (year%400==0 and year%3200!=0)): flag = True else: flag = False return flag
点赞 回复 分享
发布于 2021-07-27 19:51
没有检测类似4月31日这种不存在的情况
点赞 回复 分享
发布于 2021-09-24 14:20

相关推荐

头像
10-09 19:35
门头沟学院 Java
洛必不可达:java的竞争激烈程度是其他任何岗位的10到20倍
点赞 评论 收藏
分享
4 6 评论
分享
牛客网
牛客企业服务