Python 范围函数本身

标签 python recursion range

我正在尝试递归地编写 python 函数 range 而不是实际使用 range 函数,所以如果我有一个函数 Range(lo,hi),Range (3,7) 将返回 [3,4,5 ,6]

我目前拥有的:

def Range(lo,hi):
    if hi <= lo:
        return []
    else:
        return Range(lo - 1) + ([hi - 1,])

我知道这是完全错误的,但我也有:

def Range2(lo,hi):
    if hi <=lo :
        return []
    else:
        return [Range(lo,hi-1)]

最佳答案

试试这个:

def Range(lo,hi):
    if hi <= lo:
        return []
    return [lo] + Range(lo + 1,hi)

您忘记将递归的当前 lo 编号添加到列表中

关于Python 范围函数本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724635/

相关文章:

python - 如何帮助 tqdm 计算出自定义迭代器中的总数

python - 有没有办法并行运行机器人框架测试套件?

java - 在 Java 中使用递归的阶乘

python - 如何在后面的参数中引用函数调用的前面的参数?

recursion - 尾递归调用尾递归

c++ - C++中的递归函数调用

Python,查找范围是否包含范围列表中的另一个较小范围

javascript - 在范围数组中查找重叠并构建具有新分块范围的新数组

android - 如何使用 espresso android 测试一定范围内的 View 文本

python - python中的正则表达式搜索if条件