猫史档案馆


【求助】这题哪里错了?

用户:KW_KLKW_KL查看:5 回复:6 评论:5 创建时间:2019-05-05T18:19:46


center_image这题哪里错了?emotion_雷电猴_疑问


回复

上一页1 页 / 共 1下一页
可执行的YJL可执行的YJL

你本来就……

点赞0


评论


顽固的编程猫顽固的编程猫

emotion_编程猫_冷漠emotion_编程猫_冷漠

点赞0


评论


大腿大腿

你闰年 每个月份都加一了 应该只有2月份加1

点赞0


评论


八科冚棒浪高分八科冚棒浪高分

你知道第二层的答案是什么吗emotion_编程猫_溜了溜了

点赞0


评论


夺命金钗夺命金钗

应该是最后不用写那个“31”吧。

点赞0


评论


我爱学编程我爱学编程

大腿同学说得对,闰年的 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])

点赞0


评论