鱼C论坛

 找回密码
 立即注册
查看: 1546|回复: 5

[已解决]关于求 100~999 之间的所有水仙花数的程序解读。

[复制链接]
发表于 2020-3-20 15:56:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
        sum = sum + (temp%10) ** 3
        temp //= 10         # 注意这里要使用地板除哦~
    if sum == i:
        print(i)

我是零基础学python,上述代码中,有几个问题,请大神勿嘲笑帮解读。

1. temp = i中,i在python里为一个正整数吗?sum = sum + (temp%10) ** 3中用temp,不用i,我记得有的代码是用i啊!

2.  sum = sum + (temp%10) ** 3
        temp //= 10         # 注意这里要使用地板除哦

     这两行代码是核心,可我理解不了。=两边的sum肯定不是同一个数,分别代表什么意思?

3.   问题2中 代码的运算方式也无法理解。举个例子,153吧!153%10=3,这里边只有3的三次方啊。下边那行代码中,153//10=15,这个15应该在运算一次,15//10=1,完全没有提出来5啊。
      即便这三个数字都提出来,又是怎么进入计算的?

如果可以帮助我理解,我一定会设为最佳答案的。
最佳答案
2020-3-20 16:01:40
1,i是一个正整数,temp=i,所以temp也是正整数,之所以要用这个temp,就是为了保护i,防止i被改变
2,sum就是一个数,先把右边的执行完,再赋值给左边
3,不是有while temp嘛,先取出来一位乘上3次方,再扔掉这一位,之后只要temp还在就继续判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-20 16:01:40 | 显示全部楼层    本楼为最佳答案   
1,i是一个正整数,temp=i,所以temp也是正整数,之所以要用这个temp,就是为了保护i,防止i被改变
2,sum就是一个数,先把右边的执行完,再赋值给左边
3,不是有while temp嘛,先取出来一位乘上3次方,再扔掉这一位,之后只要temp还在就继续判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 16:06:52 | 显示全部楼层
我可能解释的不够清楚,这里放两个链接:
https://fishc.com.cn/forum.php?m ... E%CF%C9%BB%A8%CA%FD
(我写的,有问题可以先来这里面找找)
https://fishc.com.cn/forum.php?m ... E%CF%C9%BB%A8%CA%FD
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 16:14:33 | 显示全部楼层
qiuyouzhi 发表于 2020-3-20 16:01
1,i是一个正整数,temp=i,所以temp也是正整数,之所以要用这个temp,就是为了保护i,防止i被改变
2,sum ...

2. 这个是不是与a=a+1类似。a=a+1的结果是一直递增吗?
3.我尝试举例解读一下。首先153%10=3;其次153进入代码 temp //= 10 中,153//10=15,这个15会自动进入上一行代码中,会什么会返回到上一个代码?得到15%10=5;然后15再进入下一行代码中,15//10=1,1再进入上一行代码中,而且不执行1%10运算,这又是为什么?求解答?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 16:17:57 | 显示全部楼层
中华小鬼 发表于 2020-3-20 16:14
2. 这个是不是与a=a+1类似。a=a+1的结果是一直递增吗?
3.我尝试举例解读一下。首先153%10=3;其次153进 ...

2,是的,会一直递增
3,有一个循环用于控制(while temp)
但为什么不执行呢?你可以打印一下试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 17:43:43 | 显示全部楼层
我发过类似的帖子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 04:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表