Python 第009讲 《了不起的分支和循环》水仙花
for i in range(100, 1000):sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10 # 注意这里要使用地板除哦~
if sum == i:
print(i)
始终看不明白4、5、6行,求帮助 数字 0 也代表 false,
所以在while循环时,temp //= 10同时起到了结束循环的作用,
temp与10循环进行地板除,使temp最终为 0 (也就是false),结束了while循环。
希望能帮上忙~{:10_254:} 我昨天问的同样的问题
https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=156572&pid=4364369 这还有:while的用法
https://fishc.com.cn/thread-156603-1-1.html
(出处: 鱼C论坛)
{:10_257:} for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3 这里temp是3位数,第一次循环(temp%10)**3得到个位数的立方并加入sum,
第二次循环(temp%10)**3得到十位数的立方并加入sum,
第三次循环(temp%10)**3得到百位数的立方并加入sum 这时sum=个位数的立方+十位数的立方+百位数的立方
temp //= 10 # 注意这里要使用地板除哦~ 这里temp是个三位数 ,是第一次temp整除10后变2位数;第二次temp整除10后变1位数;第三次temp整除10后变0;循环终止。
if sum == i:
print(i)
这样可以看懂吗?
页:
[1]