xiaobaizzj 发表于 2021-5-20 21:20:11

求助

def Narcissus():
    for each in range(100, 1000):
      temp = each
      sum = 0
      while temp:
            sum = sum + (temp%10) ** 3
            temp = temp // 10# 注意这里用地板除

      if sum == each:
            print(each, end='\t')

print("所有的水仙花数分别是:", end='')
Narcissus()
这个程序输出的结果为什么是153        370        371        407        所有的水仙花数分别是:
求大神指点

Twilight6 发表于 2021-5-20 21:25:14


看看这个帖子,代码是一样的,只是你的定义了函数:

[已解决] python009课后习题的水仙花数程序看不懂
https://fishc.com.cn/thread-171563-1-1.html
(出处: 鱼C论坛)

xiaobaizzj 发表于 2021-5-20 21:40:18

Twilight6 发表于 2021-5-20 21:25
看看这个帖子,代码是一样的,只是你的定义了函数:

[已解决] python009课后习题的水仙花数程序看不懂 ...

我想知道的是结果为什么是153      370      371      407      所有的水仙花数分别是:
而不是    所有的水仙花数分别是:153      370      371      407      

Twilight6 发表于 2021-5-20 21:47:44

xiaobaizzj 发表于 2021-5-20 21:40
我想知道的是结果为什么是153      370      371      407      所有的水仙花数分别是:
而不是 ...


不对啊,输出结果就是 :
所有的水仙花数分别是:153      370      371      407

因为是先 print("所有的水仙花数分别是:", end='') 在调用 Narcissus() ,输出结果就是后者
页: [1]
查看完整版本: 求助