萌新想请教这个水仙花数问题
for i in range(100, 1000):sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10 # 注意这里要使用地板除哦~
if sum == i:
print(i)
求大神给我解释一下这些代码的意思,没看太懂。还有几个疑问,想知道为啥要引入一个中介temp=i,还有为什么temp地板除那里没有除数怎么可以直接等于10????求帮助谢谢! 本帖最后由 青出于蓝 于 2022-7-10 17:45 编辑
第一个问题 https://fishc.com.cn/forum.php?mod=viewthread&tid=192863&highlight=%C7%B3%CC%B8 有详细解释
第二个问题 temp//=10和temp=temp//10是一样的 所以说除数就是10
欢迎追问 本帖最后由 青出于蓝 于 2022-7-10 17:46 编辑
P.S. 有好多同学都很疑惑为什么这里要用temp,原因就是如果用i来算的话,后面的if sum == i里面的i就会因为上面的计算变成0,就得不到正确的结果了
选自2#文章
temp来暂时代替i,因为它的值后期会改变 青出于蓝 发表于 2022-7-10 17:42
第一个问题 https://fishc.com.cn/forum.php?mod=viewthread&tid=192863&highlight=%C7%B3%CC%B8 有详细解 ...
帖子里面那里怎么冒了个123出来??没看懂那个部分{:5_104:} 赛酱想学编程 发表于 2022-7-10 21:09
帖子里面那里怎么冒了个123出来??没看懂那个部分
作者可能打错了,123应该是153 青出于蓝 发表于 2022-7-10 21:30
作者可能打错了,123应该是153
好的好的,谢谢! 2333
页:
[1]