李星彤 发表于 2026-7-31 16:50:22

水仙花这道题 一直报错 temp未命名 咋回事

for num in range(100, 1000):
    sum = 0
    temp = num
    while tmep:
         sum = sum + (temp % 10) ** 3
         temp //= 10
    if num == sum:
      print (num)

FishC 发表于 2026-7-31 16:50:29

问题出在 while tmep: 这行,tmep 拼写错了,应该是 temp。temp 在前面已经赋值,但 tmep 没定义,所以报错。

改成这样就好了:

for num in range(100, 1000):
    sum = 0
    temp = num
    while temp:
      sum = sum + (temp % 10) ** 3
      temp //= 10
    if num == sum:
      print(num)


以后写代码注意拼写,尤其是变量名别写反了。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

鱼师父 发表于 2026-8-3 03:33:48

for i in range(100, 1001):
    s = 0
    temp = i
    while temp:
      s = s + (temp % 10) ** 3
      temp //= 10
    if s == i:
      print(i)

      
153
370
371
407

柿子饼同学 发表于 2026-8-8 17:26:33

1 while temp 的temp写错了
2 不建议用内置的东西当变量名, 容易出错, 你这里用已经定义过的 sum 当作变量了
页: [1]
查看完整版本: 水仙花这道题 一直报错 temp未命名 咋回事