N95 发表于 2020-2-12 15:21:00

仙花数

>>> def flower(stra,end):
        c=0
        for i in range(stra,end):
                while i:
                        a=i%10**3
                        i=i//10
                        c+=a
                if c==i:
                        print (i)

这个函数跑不起来,是怎么回事呀???调用他他又不输出

冬雪雪冬 发表于 2020-2-12 15:23:21

在while循环后i变成了0,所以c==i 永远不会成立

N95 发表于 2020-2-12 15:27:50

冬雪雪冬 发表于 2020-2-12 15:23
在while循环后i变成了0,所以c==i 永远不会成立

>>> def flower(stra,end):
        c=0
        for i in range(stra,end):
                temp=i
                while i:
                        a=i%10**3
                        i=i//10
                        c+=a
                if c==temp:
                        print (i)

改了一下,还是不输出

冬雪雪冬 发表于 2020-2-12 15:47:15

帮你修改了
def flower(stra,end):
   
    for i in range(stra,end):
      c=0
      temp=i
      while i:
            a=(i%10)**3
            i=i//10
            c+=a
      if c==temp:
            print (temp)

N95 发表于 2020-2-12 15:53:57

冬雪雪冬 发表于 2020-2-12 15:47
帮你修改了

不会就是因为没有加括号吧??!!!

冬雪雪冬 发表于 2020-2-12 16:01:17

N95 发表于 2020-2-12 15:53
不会就是因为没有加括号吧??!!!

括号是一个问题,因为**的优先级高于%,变成了i%1000了

N95 发表于 2020-2-12 16:05:12

冬雪雪冬 发表于 2020-2-12 16:01
括号是一个问题,因为**的优先级高于%,变成了i%1000了

那*和**的优先级算一样吗?还是**比*高点儿

我看运算符的优先级和结合性
https://fishc.com.cn/thread-67664-1-1.html说*和%的优先级一样,除非**比*优先,才会**比%优先

冬雪雪冬 发表于 2020-2-12 16:11:51

http://c.biancheng.net/view/2190.html

zltzlt 发表于 2020-2-12 16:17:12

N95 发表于 2020-2-12 16:05
那*和**的优先级算一样吗?还是**比*高点儿

我看运算符的优先级和结合性


** 的优先级比 * 高。

N95 发表于 2020-2-12 16:37:53

冬雪雪冬 发表于 2020-2-12 16:11
http://c.biancheng.net/view/2190.html

你真是好人,谢谢
页: [1]
查看完整版本: 仙花数