萌新求助 009讲 求水仙花 答案不理解
for i in range(100,1000):sum=0
temp=i
while temp:
sum=sum + (temp%10)**3 #sum 初始值是0 , sum=sum+(100到1000循环跑)乘以3的立法,这段能得到一个什么数做什么用
temp//=10 #地板除法temp是对哪个数 哪个值进行地板除啊然后等于10 为啥等于10
if sum==i: #i等于符合水仙花条件的值
print(i) #打印 i
求助大佬不吝指导。白又白的问题 之所以要赋初值 sum = 0 那是因为需要通过循环累加来计算 sum。
假设 i = 578,看看百、十、个位数的立方和是如何计算出来的。
i = 578 , sum = 0 , temp = 578
第一次循环: temp = 578,578 % 10 = 8 sum = 0 + 8 ** 3 , temp = 578 // 10 = 57
第二次循环: temp =57, 57 % 10 = 7 sum = 8 ** 3 + 7 ** 3 , temp =57 // 10 =5
第三次循环: temp = 5,5 % 10 = 5 sum = 8 ** 3 + 7 ** 3 + 5 ** 3 , temp = 5 // 10 =0
temp = 0 循环终止
给你个大佬的链接
【Pyhon 009讲心得体会】【摸球和水仙花数 】
https://fishc.com.cn/thread-126088-1-1.html
(出处: 鱼C论坛)
看看这个吧:
Python:问题贴之水仙花数
https://fishc.com.cn/thread-93848-1-1.html
(出处: 鱼 C 论坛)
页:
[1]