首页 > 解决方案 > 为什么python递归函数不停止?

问题描述

def f4(arr):
    m = len(arr) // 4
    n = len(arr) % 4
    while m > 0:
        temp = [arr[4 * i] for i in range(m)]
        temp = arr[4 * m:] + temp
        print('The number:', temp)
        f4(temp)

if __name__ == '__main__':
    arr = [x for x in range(1, 2021)]
    f4(arr)

输出: 数量: [1969, 1985, 2001, 2017, 49, 113, 177, 241, 305, 369, 433, 497, 561, 625, 689, 753, 817, 881, 945, 1009, 1073, 1137 , 1201, 1265, 1329, 1393, 1457, 1521, 1585, 1649, 1713, 1777, 1841, 1905] 数量: [1841, 1905, 1969, 49, 305, 561, 817, 1073, 1329]

号码:[1329、1585、1841、305]

号码:[1329]

号码:[1329]

号码:[1329]

号码:[1329]

...

我很困惑。

标签: pythonrecursion

解决方案


推荐阅读