python 循环语句相关
for i in range(100,1000):a = i % 10
b = i % 100 -a
c = i-a-b
if i == a**3 +b**3 +c**3:
print(i)
这个为什么跑不了 你的代码有一些小问题,我们来逐步解决:
for i in range(100, 1000):
a = i % 10# 获取个位
b = (i // 10) % 10# 获取十位
c = i // 100# 获取百位
if i == a**3 + b**3 + c**3:
print(i)
问题主要出在获取十位和百位数字的方式上。你原来的代码中变量 `b` 和 `c` 的计算方法不正确。
修改后的代码正确获取个位、十位和百位,然后判断是否为水仙花数。运行这段代码,你会发现它能正确输出水仙花数:153、370、371 和 407。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]