|
发表于 2021-6-19 10:36:59
|
显示全部楼层
本帖最后由 灰晨 于 2021-6-19 10:55 编辑
这代码本身就错了吧,算出来结果都不对
变成了1+222+3333+44444+555555了
- sum=1
- for i in range(2,6):
- x=i
- for j in range(1,i):
- x=x*10+i
- print(x)
- sum+=x
- print(sum)
- print("1+22...+55555的和为:%d" %sum)
复制代码
把for j in range(1,i+1):改成for j in range(1,i):先
之后运行,sum=1
for i in range(2,6):第一次循环
x=2,
for j in range(1,i)=for j in range(1,2)这里j不用管他,这里就是要一个for循环而已,range(1,2)说明这个循环就循环1次
x=x*10+i = 2*10+2 = 22
循环一次结束
sum+=x
sum = sum + x = 1+ 22 =23
for i in range(2,6):第二次循环
x = 3
for j in range(1,i)=for j in range(1,3),range(1,3)说明这个循环,循环2次
x=x*10+i = 3 *10+3=33
x=x*10+i = 33 *10 +3 =333
循环两次结束
sum+=x
sum = sum + x = 23 + 333 = 356
for i in range(2,6):第三次循环
x = 4
....
....
...
.. |
|