xiehongzhe 发表于 2024-10-30 13:40:18

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)
这个为什么跑不了

FishC 发表于 2024-10-30 13:40:19

你的代码有一些小问题,我们来逐步解决:

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]
查看完整版本: python 循环语句相关