马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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啊。
即便这三个数字都提出来,又是怎么进入计算的?
如果可以帮助我理解,我一定会设为最佳答案的。
1,i是一个正整数,temp=i,所以temp也是正整数,之所以要用这个temp,就是为了保护i,防止i被改变
2,sum就是一个数,先把右边的执行完,再赋值给左边
3,不是有while temp嘛,先取出来一位乘上3次方,再扔掉这一位,之后只要temp还在就继续判断
|