求助,小甲鱼的课后作业
希望大佬来帮忙解答一下这是小甲鱼第九章的课后作业水仙花
这是原题:
编写一个程序,求 100~999 之间的所有水仙花数
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
这是小甲鱼给的答案
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10 # 注意这里要使用地板除哦~
if sum == i:
print(i)
希望大佬能帮忙讲解一下while循环里面的内容,重复看了好久的没有看懂{:5_104:} ,
还有一个问题想问一下,比如说while i: , 是不是只要i不为0,那么就一直判定为真,一直循环下去?{:5_94:} 首先,第二个问题:一般数值不为零,默认为true,为零时,为false
其次:第一个问题:
①while循环是用来计算出数i的每位数的立方和的
②循环结构如下,假设初始temp=121:
1.一般来说,temp%10得到个位数 1,因此sum加上个位的立方1**3
2.其次,temp//10得到除以10后的的数(得到的数默认为整数,去掉小数点),得到temp=12
首先,第二个问题:一般数值不为零,默认为true,为零时,为false
其次:第一个问题:
①while循环是用来计算出数i的每位数的立方和的
②循环结构如下,假设初始temp=121:
1.一般来说,temp%10得到个位数 1,因此sum加上个位的立方1**3
2.其次,temp//10得到除以10后的的数(得到的数默认为整数,去掉小数点),得到temp=12
3.再利用temp=12,再次循环,加上十位数的立方2**3,在进行时,temp=1
4.temp=1在进行循环,得到百位数1的立方,最后小于10的数//10时得到0,退出循环 看这个 大佬笔记 给你整的明明白白
【Pyhon 009讲心得体会】【摸球和水仙花数 】
https://fishc.com.cn/thread-126088-1-1.html
(出处: 鱼C论坛) Judie 发表于 2020-3-20 02:43
看这个 大佬笔记 给你整的明明白白
【Pyhon 009讲心得体会】【摸球和水仙花数 】
https://fishc.com.cn/t ...
谢谢 本帖最后由 Judie 于 2020-3-20 09:45 编辑
layton 发表于 2020-3-20 09:08
谢谢
不客气 也谢谢你的【最佳答案】呀
页:
[1]