用python计算num的值

其中num = n + nn ,其中n是一个数字,且n的重复次数由用户输入确定。例如用户输入2,则计算 num = 2 + 22 + 222 的值。

要求用函数和循环去完成


def s(n:int):
      l=['2']
      sum=0
      for i in range(0,int(n)):
            l.append('2')
            a=''.join(l)
            sum+=int(a)
      return sum+2

按照用户输入2,则计算 num = 2 + 22 + 222的个人理解,即0对应2,1对应2+22,2对应2+22+222


def num_calculator(n: int):
    res = 0
    num_list = 'num = '
    for i in range(1, n+2):
        n2 = int(str(n) * i)
        res += n2
        num_list += str(n2) + " + "

    print(num_list.rstrip(" + "), "=", res)
    return res


if __name__ == '__main__':
    num_calculator(2)

是这样吗?
运行结果:


num = 2 + 22 + 222 = 246

根据上一位兄弟的简单调整了下

# encoding:gbk
def num_calculator(n: int):
    res = 0
    num_list = 'num = '
    for i in range(1, n+2):
        n2 = int(str(n) * i)
        res += n2
        num_list += str(n2) + " + "
 
    print(num_list.rstrip(" + "), "=", res)
    return res
 
if __name__ == '__main__':
    num = int(input('请输入需要重复的次数:'))
    num_calculator(num)