求助
问题是要求水仙花数,就是一个三位数字各个位数数字的三次方之和等于其数字本身答案理解起来本身没什么问题,
但是我在自己做的时候没加temp = i
然后就输出不了东西,加了temp = i就没问题,求解
答案
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10 # 注意这里要使用地板除哦~
if sum == i:
print(i)
我改的
for i in range(100,1000,1):
sum = 0
while i:
sum = sum + (i%10)**3
i //= 10
if sum == i:
print(i)
for i in range(100,1000,1):
sum = 0
while i:
sum = sum + (i%10)**3
i //= 10
if sum == i: # 这里的i变成了0, 和sum 不会相等了, 所以要把i赋给temp再
print(i) # 进行while迭代运算, i的值保持不变 XiaoPaiShen 发表于 2019-9-21 02:17
感谢大佬
页:
[1]