Tacker.Lee 发表于 2020-3-28 16:48:49

求助代码解析

这串代码,表示不懂,请大佬解析一下!!1

Tacker.Lee 发表于 2020-3-28 16:50:06

temp 为什么要地板除一下啊!循环里的两处,代码,我不懂什么意思;求解

xcsummer 发表于 2020-3-28 16:59:21

他用这种方法来解析出各个位数上的数字

helloTOM 发表于 2020-3-29 03:22:27

每次运行完while之后的sum结果 其实依次是三位数个位十位百位的立方和
temp要地板除的原因为了运行下一次while循环语句sum = sum + (temp%10) ** 3 中的(temp%10)得到 i的十位(首次运行while   (temp%10)得到的是 i的个位 )
第三次运行while中(temp%10)得到的是 i的百位
不知道你听明白没有{:10_266:}{:10_250:}{:10_254:}
实在不行 这有个链接讲解更详细 你看看https://fishc.com.cn/forum.php?mod=viewthread&tid=126088&highlight=%CB%AE%CF%C9%BB%A8

lixiangyv 发表于 2020-3-29 08:23:52

1、如果不用地板除的话,那 temp 就一定是一个小数,尽管可以整除,那也会的小数,这里要取一个整数。
2、sum 存储的是结果, temp 的值是一个三位数,
   while temp 只要 temp 不等于 0 ,就循环。
   sum = sum + (temp%10) ** 3
   例如现在 temp 是 153 ,
   153 % 10 等于 3 ,也就是个位的数字,再求他的立方数。
   接着 temp //= 10 ,那 temp 就成了 15 .
   15 % 10 等于 5 ,也就是十位的数字,再求他的立方数。
   接着 temp //= 10 ,那 temp 就成了 1 .
   1 % 10 等于 1 ,也就是百位的数字,再求他的立方数。
   接着 temp //= 10 ,那 temp 就成了 0 .
   temp == 0 那循环就不会执行了。
    sum 就是存的这个循环得出来的结果。
    接着就是判断,我想你应该知道。

Tacker.Lee 发表于 2020-3-29 18:11:02

lixiangyv 发表于 2020-3-29 08:23
1、如果不用地板除的话,那 temp 就一定是一个小数,尽管可以整除,那也会的小数,这里要取一个整数。
2、 ...

谢谢你,是我逻辑思维出错了,
页: [1]
查看完整版本: 求助代码解析