问题遇到的现象和发生背景:Python数水仙花数的代码一直多次打印
问题相关代码,请勿粘贴截图:
for a in range(10):
for b in range(10):
for c in range(10):
if a3 + b3 + c*3 == a100 + b 10 +c:
hua = a100+b*10+c
if hua >= 100:
print('水仙花数:{}'.format(hua))
运行结果及报错内容:153、407多次打印,371没打印那么多,370只打印了一次(在这里提问预览代码很奇怪,第三行for前有对上一行的缩进,第四行,第五行也是,第六行显示无问题,第七行有,第四行原本是:"if a3 + b3 + c*3 == a100 + b *10 +c:")
我的解答思路和尝试过的方法:试符合每一位的立方加起来等于那个三位数本身的数字。出了这个错后为倒数第二行多加了一个缩进,立马正常了。为何?
我想要达到的结果:
只打印:
水仙花数:153
水仙花数:370
水仙花数:371
水仙花数:407
而不是打印:
省略无数个"水仙花数:153"
水仙花数:370
省略有无数"水仙花数:153"一半的"水仙花数:371"
省略无数个"水仙花数:407"