gpt4 book ai didi

python - int()的无效文字(以10为基础: '(1 + 1)(1 + 1)' )

转载 作者:行者123 更新时间:2023-12-03 09:03:15 25 4
gpt4 key购买 nike

我正在编写一个将数字作为输入并基于该输入返回字符串的递归函数。

这是我的代码:

def sum_power2( n ): 

n_int = int( n )

if n_int == 0:

return '1'

else:

return sum_power2( n_int * '(1 + 1)' )

最初,该代码导致错误代码为
    can't multiply sequence by non-int of type 'str'

当n未转换为'int'时,现在我得到了此错误代码。请帮我弄清楚,谢谢!

对于 sum_power2(2)及其输入,输出应为 '(((1 + 1)(1 + 1))'

最佳答案

如果我正确理解了这个问题,则您希望sum_power2(n)返回n个字符串副本(1 + 1),是吗?

在这种情况下,对于n> 1,递归的方式是将字符串(1 +1)附加到sum_power2(n-1)的输出中。 (这需要特殊情况,当n = 0时仅给出1)

看起来像这样:

def sum_power2(n):
if n == 0:
return "1"
elif n == 1:
return "(1 + 1)"
else:
return sum_power2(n-1) + "(1 + 1)"

(此外,您的参数看起来还是int,因此我省略了转换)

关于python - int()的无效文字(以10为基础: '(1 + 1)(1 + 1)' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42790744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com