**表示幂运算
t=2, sum=0
i=1, t+t乘(10的0次幂是1),t=2+2=4, sum=4
i=2, t+t乘(10的1次幂是10),t=4+4*10=44, sum=48
程序改成这样:
n = int(input('n:'))
a = int(input('a:'))
sum = 0
t = 0
for i in range(1, n+1):
t = a + t * 10
sum += t
print("sum={}".format(sum))
测试1:
n:2
a:2
sum=24
测试2:
n:3
a:3
sum=369
运行第一次的时候,i为1, t = 2 + 2 * 10** 0 = 4
运行第二次的时候,i为2,t = 4 + 4* 10 **1 = 44
sum不就是44+4 = 48
如果有帮助,麻烦点一下采纳
是这样的,如果还是疑惑
可以在循环的每一步打印或者断点调试进行验证
下面是我个人理解标注的一些注释,可以看看
# 假设n和a都输入2
# t = 2
t = a
# 循环两次
# 第1次:i为1 第2次:i为2
for i in range(1, n+1):
# 第1次循环 t = 2 + 2 * (10**(1-1)) = 2 + 2 * 1(10的0次幂是1) = 4
# 第2次循环 t = 4 + 4 * (10**(2-1)) = 4 + 4 * 10(10的1次幂是10) = 4 + 40 = 44
t = t + t * (10**(i-1))
# 第1次循环 sum + 4 = 0 + 4 = 4
# 第2次循环 sum + 44 = 4 + 44 = 48
sum += t
print("sum={}".format(sum))
t = t + t * (10**(i-1))
改为
t= a + a * (10**(i-1))
你把结果赋值回t,t也在变