折折叠叠像弹簧 发表于 2020-2-15 11:52:27

零基础入门python009水仙花问题

一个三位数等于其各位数字的立方和,称为水仙花数。求100~1000内的水仙花数
想问一下为什么要把 i 的值赋给 temp 变量, 直接用 i 进行运算 , 得不出结果
我的做法:for i in range(100,1000):
    sum = 0
    while i:
      sum = sum + (i%10)**3
      i //= 10
    if sum == i:
      print(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)

wp231957 发表于 2020-2-15 12:58:06

for循环里的中间变量不能被改动
你可以自己想一下,for循环里的中间变量是按照一定规律自增或自减的,你在半道给修改了,循环没办法按原流程继续了

折折叠叠像弹簧 发表于 2020-2-15 14:51:37

wp231957 发表于 2020-2-15 12:58
for循环里的中间变量不能被改动
你可以自己想一下,for循环里的中间变量是按照一定规律自增或自减的,你在 ...

谢谢!
页: [1]
查看完整版本: 零基础入门python009水仙花问题