在递归函数中添加圆括号

2024-09-28 22:37:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是想在递归函数的末尾添加一个括号。。我真的错过了最后一个括号,但我不知道如何添加它!非常感谢您的帮助!你知道吗

我的代码:

def sum( n ): 

    if n == 0:
        return '1'

    elif n == 1:
        return '(1+1)'

    elif n == 2:
        return '((1+1)+(1+1))'

    elif n == 3:
        return '(((1+1)+(1+1))+((1+1)+(1+1)))'

    else:
        return '((((1+1)+(1+1))+((1+1)+(1+1)))' + ')'sum_power2(  n - 1  )

Tags: 代码returnifdefelse括号sum末尾
3条回答

只要把最后一行的顺序换一下就行了

def sum_power2( n ): 

    if n == 0:
        return '1'

    elif n == 1:
        return '(1+1)'

    elif n == 2:
        return '((1+1)+(1+1))'

    elif n == 3:
        return '(((1+1)+(1+1))+((1+1)+(1+1)))'

    else:
        return '((((1+1)+(1+1))+((1+1)+(1+1)))' + sum_power2(  n - 1  )+')'

试试这个:

def sum_power(n,tmp=''):
    tmp = '1' if not tmp else '(' + tmp + '+' + tmp + ')'
    if n == 0:
        return tmp
    else:
        n -= 1
        return sum_power(n,tmp)


print(sum_power(2))

好吧,我真的不知道如何用python编程,我也不确定您是否能做到这一点,但为什么不尝试一下:

def sum_power2( n ): 

if n == 0:
    print('1')

else:
    return('( ' + sum_power2(n-1) + ' + ' + sum_power2(n-1) + ' )')

相关问题 更多 >