
python小甲鱼求水仙花数
foriinrange(100,1000):sum=0temp=iwhiletemp:sum=sum+(temp%10)**3temp//=10ifsum==i:prin...
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不行吗 看不懂 新手求教 展开
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10
if sum == i:
print(i)
这里为什么要设置一个temp 直接用i不行吗 看不懂 新手求教 展开
推荐于2017-11-21
展开全部
直接用i,那么之后的判断sum == i,i就不再是原值,而是0了,所以必须用一个变量来做临时存储
更多追问追答
追问
还是没懂,能仔细说说吗,谢谢了。变量做临时存储这个不是很明白。
追答
不用temp,直接用i会导致i值变化,那之后的比较就没有意义了
2018-01-23
展开全部
你可以举一个数来理解,
比如,153
temp=153
temp%10=3
3**3=27
temp//=10
temp=15
15%10=5
5**3=125
15//10=1
1%10=1
1**3=1
1//10=0
结束,把计算的结果想加:27+125+1=153
选自鱼C论坛鱼油‘小财迷’的回答
比如,153
temp=153
temp%10=3
3**3=27
temp//=10
temp=15
15%10=5
5**3=125
15//10=1
1%10=1
1**3=1
1//10=0
结束,把计算的结果想加:27+125+1=153
选自鱼C论坛鱼油‘小财迷’的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询