ShirleyX 发表于 2021-7-3 06:01:36

python寻找水仙花数

   
06 07和最后end=‘\t’是什么意思

suchocolate 发表于 2021-7-3 07:12:22

本帖最后由 suchocolate 于 2021-7-3 07:14 编辑

end='\t' 表示打印的时候行尾加上 tab。
\是转义的一般用法:https://www.runoob.com/python3/python3-string.html
>>> print('111\t222')
111        222
>>>

ShirleyX 发表于 2021-7-3 07:41:46

suchocolate 发表于 2021-7-3 07:12
end='\t' 表示打印的时候行尾加上 tab。
\是转义的一般用法:https://www.runoob.com/python3/python3-str ...

那第六第七行那两步是什么意思呢?

tt000 发表于 2021-7-3 08:30:38

一个数 %10会得到它的个位
再将这个数 //10会将个位去除
比如138 %10 = 8
138 //10 = 13
这个时候再%10就可以得到十位上的数字
13 %10 = 3
06、07的意思就是分别得到每一位数字然后
然后依次类推得到每一位数字然后取三次幂求和

灰晨 发表于 2021-7-3 11:04:24

%是取余数,如5除于2等于2余1,所以5%2=1
而%10取余数,结果必是该数的个位数
//是地板除,即去掉小数点后的数5除于2等于2.5,所以5//2=2
而//10地板除,结果必是该数去掉个位后的数
6、7步的循环就是用来计算一个数其各位数字的立方和的
比如temp = 153
sum = sum + (temp % 10) ** 3 = 0 + (153 % 10) ** 3 =0 +3 ** 3 = 0 + 27 = 27
temp = temp // 10 =153 // 10 = 15
while temp
此时temp = 15 ,为True
sum = sum + (temp % 10) ** 3 = 27 + (15 % 10) ** 3 =27 + 5 ** 3 = 27 + 125 = 152
temp = temp // 10 =15 // 10 = 1
while temp
此时temp = 1 ,为True
sum = sum + (temp % 10) ** 3 = 152 + (1 % 10) ** 3 =152 + 1 ** 3 = 125 + 1 = 153
temp = temp // 10 =1 // 10 = 0
while temp
此时temp = 0 ,为false
循环结束
此时,sum = 153
后面就是判断sum和each是否相等了,
相等就是水仙花数,反之,不是

特利迦奥特曼 发表于 2021-7-3 14:11:30

页: [1]
查看完整版本: python寻找水仙花数