鱼C论坛

 找回密码
 立即注册
查看: 1725|回复: 3

[已解决]为什么temp=num??//是什么意思?没看懂!求大神指教

[复制链接]
发表于 2020-6-27 16:46:01 | 显示全部楼层 |阅读模式

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

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

x
lower = int(input("最小值: "))
upper = int(input("最大值: "))

for num in range(lower,upper + 1):
   # 初始化 sum
   sum = 0
   # 指数
   n = len(str(num))

   # 检测
   temp = num#??????
   while temp > 0:
       digit = temp % 10
       sum += digit ** n
       temp //= 10???????

   if num == sum:
       print(num)
最佳答案
2020-6-27 16:51:22



temp = num


就是找个临时变量 替代下,因为你的代码最后要判断计算后的 sum 值是否等于你的原始值 num

而 while 循环里面会改变你的数值,如果你用了 num 就导致了后面数字本身改变,没得判断是否和原先的 num 相等了

temp //= 10


这个是地板除法,你可以理解为 普通除法后加上 int ,就是除法后 小数点后面的全部舍掉,只留整数



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-27 16:51:22 | 显示全部楼层    本楼为最佳答案   



temp = num


就是找个临时变量 替代下,因为你的代码最后要判断计算后的 sum 值是否等于你的原始值 num

而 while 循环里面会改变你的数值,如果你用了 num 就导致了后面数字本身改变,没得判断是否和原先的 num 相等了

temp //= 10


这个是地板除法,你可以理解为 普通除法后加上 int ,就是除法后 小数点后面的全部舍掉,只留整数



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-27 18:45:19 | 显示全部楼层
Twilight6 发表于 2020-6-27 16:51
就是找个临时变量 替代下,因为你的代码最后要判断计算后的 sum 值是否等于你的原始值 num

...

嗯嗯,但地板除放在这里有什么用呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-27 18:48:51 | 显示全部楼层
重来 发表于 2020-6-27 18:45
嗯嗯,但地板除放在这里有什么用呢?

比如  temp = 153    然后 temp //= 10  后 temp 的结果就为 temp = 15  然后开始下次循环  temp //= 10 再次 则结果为  temp = 1  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 05:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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