Python,编写程序,就这样了, please help me

越简单越好,因为太难了我看不懂🙉
编写程序,例s=2+22+222+2222+22222+2……2

遇见复杂的问题要把问题拆解,变成一个个简单的问题。
例如本题:
2 + 22 + 222 + 2222 + ...
(1)求n个2构成的整数
再把问题拆解: 2222 = 2 * 1000 + 2 * 100 + 2 * 10 + 2,用一个循环可以搞定
可以优化算法,用这个式子(((2 * 10) + 2) * 10 + 2) * 10 + 2,循环更容易写,效率更高
当然,也可以用字符串拼出来,再转换成整数
(2)求和

过程中,你可能会遇到整数溢出的问题,但先把简单的问题搞定,逐步接近复杂的问题。

def calc(data, n):
    if n == 1 :
        return data
    else:
        return int(str(data) *n) + calc(data, n - 1)
    
x = calc(2, 4)
print(x)
或者
from functools import reduce

res =lambda data, n : reduce(lambda x, y:x +y , [int(str(data) * _) for _ in range(1, n)])
print(res(2, 4))