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

递归过程中如何维持变量累加值?Python整除计数递归函数返回值仅为1排查

递归计数问题修正方案

问题根因

  • 第一版代码未接收递归调用的返回值,各层的局部变量y互相独立,无法累加下层计数,因此最多只能返回1。
  • 第二版新增的1 + even_divide_count(number, num2)语句未赋值给任何变量,计算结果直接丢弃,没有实际作用,问题未得到解决。

正确实现

按照你梳理的核心思路,直接返回当前层计数叠加下层递归结果即可,最简实现代码如下:

def even_divide_count(num1, num2):
    number = num1 // num2
    if number % 2 == 1 or number == 0:
        return 0
    return 1 + even_divide_count(number, num2)

如果需要保留原代码的变量y定义,修改如下即可:

def even_divide_count(num1, num2):
    y = 0
    number = num1 // num2
    if number % 2 == 1 or number == 0:
        return 0
    y = 1 + even_divide_count(number, num2)
    return y

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:15:05