【问题标题】:Python: Adding new line after return in recursive functionPython:在递归函数中返回后添加新行
【发布时间】:2011-06-12 23:22:47
【问题描述】:

我是 python 新手,遇到以下问题.. 我正在尝试执行递归求和函数,但总和不会在新行上返回

例如 sum(2,2) 应该返回

4
2

sum(2,3) 将返回

6
4
2

但我得到 4 2 和 6 4 2 都在同一行。这是我的代码:

def sum(a,b):
    if a>0 and b>0:
        return str(a*b) + " " + str(sum(a,b-1))
    else:
        return ""

我尝试过将“”更改为“\n”,但它不起作用

【问题讨论】:

    标签: python recursion line new-operator return


    【解决方案1】:
    def sum(a,b):
        if a>0 and b>0:
            return str(a*b) + "\n" + str(sum(a,b-1))
        else:
            return ""
    

    在这里工作正常。

    【讨论】:

    • 哦,好像又能正常工作了..我不知道我的编译器是否有问题..还是谢谢
    • @JustToHelp,应该和你使用的具体执行环境(比如idle,ipython,或者任何一种shell环境)有关。编译器本身应该没问题。
    【解决方案2】:

    您写道将“”更改为“\n”不起作用,但您是否尝试打印结果?

    print sum(2, 2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-06
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 2014-03-18
      • 1970-01-01
      相关资源
      最近更新 更多