题目:(python递归)计算并返回形式如 a + aa + aaa + aaaa + ... + aaa...aaa 的表达式前n项的值,其中a为小于10的自然数。

方法:利用递归函数,可打印输出值

def sum1(n, a):
    a_sum = 0
    if n == 1:
        return a
    if a in range(1, 11):
        a_sum = sum1(n-1, a) + int(str(a)*n)
        return (a_sum)

print(sum1(5, 8))
98760

同样的方法,只是少了个if语句,为何就打印不出输出值

#为何打印不出来a_sum
def sum1(n, a):
    a_sum = 0
    if a in range(1, 11):
        a_sum = sum1(n-1, a) + int(str(a)*n)
        return (a_sum)

print(sum1(5, 8))

代码能够正常运行,但无输出值

Logo

GitCode AI社区是一款由 GitCode 团队打造的智能助手,AI大模型社区、提供国内外头部大模型及数据集服务。

更多推荐