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

Python递归day()函数转int失败 移除print后代码失效问题

问题根因

两个问题由同一个代码缺陷导致:

  • day()函数没有有效返回值:递归到hour < 24的终止分支时,原代码用了无参数的裸return,Python中这种写法默认返回None。外层的print(int(day(hour)))本质是尝试对None做整数转换,自然得不到预期结果。
  • 原代码运行时能看到数值,完全靠函数内部的print(hour)语句输出中间计算值,这行和函数返回逻辑无关。删掉这行后,函数既没有内部打印逻辑,也无法向外层传递有效计算结果,就会表现为"完全无法运行"。
  • 原代码还存在边界遗漏:没有处理hour == 24的场景,这种情况下两个条件判断都不命中,同样会返回None。
修复后代码

删除冗余的内部打印语句,补全终止分支的返回值,同时去掉多余的条件判断覆盖边界场景:

minute_input = int(input("minutes: "))

minute = minute_input % 60
hour = minute_input / 60

def day(hour):
    if hour < 24:
        return hour
    return day(hour / 24)

print(int(day(hour)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:06:18