闲庭漫步的羊 发表于 2018-5-14 14:22:54

求100-1000的水仙花,写的程序print不出来

a = 100
c = 0
while a <= 1000:
    for i in str(a):
      i = int(i)
      c = c+i*i*i
    if c == a:
      print(c)
    else:
      a += 1

BngThea 发表于 2018-5-14 15:01:48

把c=0移动到while循环里面的第一句,不然一直在累加

闲庭漫步的羊 发表于 2018-5-14 15:06:58

BngThea 发表于 2018-5-14 15:01
把c=0移动到while循环里面的第一句,不然一直在累加

你好,还是不对

闲庭漫步的羊 发表于 2018-5-14 15:08:45

闲庭漫步的羊 发表于 2018-5-14 15:06
你好,还是不对

一直出153这个数

闲庭漫步的羊 发表于 2018-5-14 15:09:30

BngThea 发表于 2018-5-14 15:01
把c=0移动到while循环里面的第一句,不然一直在累加

一直是153这一个数

闲庭漫步的羊 发表于 2018-5-14 15:11:16

BngThea 发表于 2018-5-14 15:01
把c=0移动到while循环里面的第一句,不然一直在累加

a = 100
while a <= 1000:
    c = 0
    for i in str(a):
      i = int(i)
      c = c + i ** 3
    if c == a:
      print(c)
    a += 1

闲庭漫步的羊 发表于 2018-5-14 15:15:34

闲庭漫步的羊 发表于 2018-5-14 15:11
a = 100
while a

把else去掉了

BngThea 发表于 2018-5-14 16:08:16

闲庭漫步的羊 发表于 2018-5-14 15:15
把else去掉了

对的,要不然就死循环了
页: [1]
查看完整版本: 求100-1000的水仙花,写的程序print不出来