我通常以这种方式进行增量:
n=0
n=n+1 # and never do n+=1
现在有一些我想要理解的代码,我很难理解它。
sum=0
temp = num
while temp > 0:
digit = temp % 10
# below is the line I do not understand
sum += digit ** power # what is happening here?. with power= len(str(num))
temp //= 10
if num == sum:
print num
此片段是列出阿姆斯特朗号码的一部分。
答案 0 :(得分:3)
在python **
中是指数的符号,因此x ** 2
为x^2
(或x平方)。
x += g
与x = x + g
sum += digit ** power
== sum = sum + (digit ** power)
答案 1 :(得分:2)
while temp > 0:
digit = temp % 10
sum += digit ** power
temp //= 10
取temp
sum
加digit
power
temp
答案 2 :(得分:0)
假设num = 34
,然后power
变为2
,因此,对于第一次迭代:
digit = 4
sum = 0 + 4 ** 2 # which is 0 + 16 = 16. Then adding to sum
因此,digit ** power
digit
的力量为2
类似地,第二次迭代:
digit = 3
sum = 16 + 3 ** 2 # which is 16 + 9 = 25