我只是想在递归函数的末尾添加一个括号..我实际上只是错过了最后的括号,但我无法弄清楚如何添加它!任何帮助是极大的赞赏!
我的代码:
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 )
答案 0 :(得分:1)
只需在最后一行切换顺序,所以它就是
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 )+')'
答案 1 :(得分:0)
试试这个:
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))
答案 2 :(得分:0)
好吧,我真的不知道如何在python中编程,我不确定你是否可以这样做,但为什么不尝试这样做:
def sum_power2( n ):
if n == 0:
print('1')
else:
return('( ' + sum_power2(n-1) + ' + ' + sum_power2(n-1) + ' )')