You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zybooks 6.23实验:闰年函数单元测试失败求助

问题修复方案

问题根源

你的days_in_feb函数当前返回的是布尔值(True/False),但实验明确要求函数返回对应年份二月的天数(28或29)。单元测试的用例是验证函数返回的天数数值,因此返回布尔值会导致测试不通过。

修复后的代码

def days_in_feb(year):
    # 判断是否为闰年
    is_leap = year % 4 == 0 and (year % 400 == 0 or year % 100 != 0)
    # 返回对应的二月天数
    return 29 if is_leap else 28

if __name__ == '__main__':
    year = int(input())
    days = days_in_feb(year)
    print(f"{year} has {days} days in February.")

修改说明

  1. 保留原有的闰年判断逻辑(这部分是正确的),将结果赋值给is_leap变量
  2. 根据is_leap的结果,直接返回29(闰年)或28(平年),而非布尔值
  3. 主程序部分简化为直接获取返回的天数并打印,逻辑更清晰

修改后函数的返回值完全符合实验要求,可通过所有单元测试:

  • days_in_feb(1913) 返回28
  • days_in_feb(1600) 返回29
  • days_in_feb(1900) 返回28

内容的提问来源于stack exchange,提问作者gbarajas2024

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:30:50