songsinuo 发表于 2021-5-27 22:49:59

水仙花数

谁能帮我详细解释一下这个 求水仙花数的代码每一行都是什么意思,有个弯转不过来了




for i in range(100,1001):
    sum=0
    temp=i
    while temp:
      sum=sum+(temp%10)*(temp%10)*(temp%10)
      temp=int(temp/10)
    if sum==i:
      print(i)

柿子饼同学 发表于 2021-5-27 23:05:05

这是我写的一个水仙花数的帖子,代码道理都是一样的
看看{:10_321:}{:10_297:}
浅谈水仙花数题目
https://fishc.com.cn/thread-192863-1-1.html
(出处: 鱼C论坛)

Wzzhxy1 发表于 2021-5-28 09:59:04

for i in range(100,1001):         #外循环
    sum=0                              #对sum进行初始化为0
    temp=i
    while temp:                     #内循环
      sum=sum+(temp%10)*(temp%10)*(temp%10)    #水仙花的公式定义
      temp=int(temp/10)#temp是一位三位数 ,每除10就自动降一位,比如三位变成二位
    if sum==i:                                    
      print(i)

内循环多次循环,也就是while,直至判定完成,外循环for才循环一次。
有其他不懂得,继续问就行。
页: [1]
查看完整版本: 水仙花数