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

Python用datetime校验套餐日期报wrong dates错误如何解决

你代码里存在两个核心错误导致运行失败:

  • 第一个是valideaza_pachet函数的日期判断逻辑写反:
    你的注释明确说明「结束日期早于开始日期时要报错」,但实际判断条件是get_data_i(pachet) < get_data_s(pachet),也就是开始日期早于结束日期的时候反而报错,完全搞反了逻辑。正确的判断条件应该是开始日期大于结束日期时触发错误。
  • 第二个是错误信息拼接时没有添加换行符:
    你的测试用例里断言的异常信息是每一条错误单独占一行(带\n后缀),但你拼接错误信息的时候直接加字符串,没有加\n,会导致异常字符串和预期不匹配,断言失败。

修改后的valideaza_pachet函数参考:

def valideaza_pachet(pachet):
    #functie that validates if a package was correctly introduced or not
    #it raises an Exception as ex if any of the conditions aren't met
    err = ""
    if get_data_i(pachet) > get_data_s(pachet):
        err += "wrong dates!\n" # 修正判断逻辑,添加换行符匹配测试断言
    if get_destinatie(pachet) == " ":
        err += "wrong destination!\n" # 添加换行符
    if get_pret(pachet) <= 0:
        err += "wrong price!\n" # 添加换行符
    if len(err) > 0:
        raise Exception(err)

补充说明:如果你的目的地判断是要拦截空输入,建议后续可以优化为判断get_destinatie(pachet).strip() == "",可以覆盖全空白、空字符串的场景,目前的判断只能拦截刚好是单个空格的情况。
修改完成后再运行测试就可以全部通过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:15:00