- for i in range(998, 999):
- sum1 = 0
- temp = i
- while temp:
- sum1 = sum1 + (temp%10)**3
- print('temp%10 =', temp%10)
- temp //= 10
- print('地板除后的temp', temp)
-
-
复制代码
这张图,我取得temp =998
while 第一次循环 sum1 = 0 + (998%10)**3 这是不是个位数的三次方;然后 temp=998 进行地板除 temp=99 对吧
while 99 :这个属于真吧,继续第二次循环, sum1 = (998%10)**3(这是第一次循环留下来的值) + (99%10)**3 ;(99%10)是不是取9,也就是998的十位上面的数 ;然后temp=99 再进行地板除 temp=9喽
while 9: 这个条件又为真对吧,继续第三次循环, sum1 = (998%10)**3 + (99%10)**3 +(9%10)**3 然后temp=9 又进行地板除,temp=0 喽
while 0: 这个条件不是真,所以不执行循环,是不是跳出while ,执行下一次for循环了,然后sum1 在for循环里会被附初值0
这边特别要注意的是 在while循环没结束之前 sum1的值一直都是叠加的哦