猫史档案馆


我爱学编程

我爱学编程

Lv.1

获赞:0收藏:0浏览:0作品收藏:0
回复帖子评论
上一页1 页 / 共 1下一页

【求助】这题哪里错了? 中回复

大腿同学说得对,闰年的 2 月份有 29 天,平年的 2 月份只有 28 天。再结合公认的闰年判断方法判断输入的年份如果是闰年时,2 月份的天数加1 即可。

满足闰年的两个条件:

  1. 公元年分除以4可整除但除以100不可整除,为闰年。
  2. 公元年分除以400可整除为闰年。

在你的代码基础上修改如下:

def A(a):
    if a % 400 == 0 or (a % 100 != 0 and a % 4 == 0):
        return True
    return False


a = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
B, C = input().split()
B, C = int(B), int(C)
if A(B):
    a[2] += 1

print(a[C])

另外,楼主要注意给变量取个有意义的名字哦,这样别人阅读你的代码的时候就会减少障碍,有利于和别人进行合作交流,你看看我的代码,是不是会更美观和清晰一点呢。

def is_leap_year(year):
    """
    判断是否是闰年,如若是闰年返回 True,否则返回 False。
    """
    if year % 400 == 0 or (year % 100 != 0 and year % 4 == 0):
        return True
    return False


days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
year, month = input().split()
year, month = int(year), int(month)

if is_leap_year(year):
    days[2] += 1
print(days[month])

2019-05-24T16:17:21 点赞:0