# 控制台 输入要扩展的数字 如:2 var1 = int(input("请输入1-9中的一个数")) # 输入扩展到最大的位数 如:5 var2 = int(input("请输入一个正整数")) # 统计求和 sum1 = 2 + 22 + 222 + 2222 + 22222 sum1 = 0 # 用变量存储: 5 b = var2 # range(1,5+1),如何计算出2,22,222,2222,22222 for a in range(1,b+1): # 先把5传递到函数f中 def f(var2): ·# 判断特殊情况,如果是0就算了,不管多少0相加,都为0 if var2 == 0: return 0 """ 解析var1*10**(var2-1) + f(var2-1) var1 = 2, var2 = 5 2*10**4 + 2*10**3 +2*10**2 + 2 * 10**1 + 2 * 10**0 = 22222 var1 = 2, var2 = 4 2*10**3 +2*10**2 + 2 * 10**1 + 2 * 10**0 = 2222 var1 = 2, var2 = 3 2*10**3 +2*10**2 + 2 * 10**1 + 2 * 10**0 = 222 var1 = 2, var2 = 2 2 * 10**1 + 2 * 10**0 = 22 var1 = 2, var2 = 1 2 * 10**0 = 2 """ return var1*10**(var2-1) + f(var2-1) # 求var2: 5,4,3,2,1 不同时段值总和 sum1 += f(var2) # var2: 5,4,3,2,1 var2 = var2-1 print(sum1)
结果展示:

result