爱吃鱼的馒头 发表于 2020-11-1 16:27:36

这个程序运行结果为啥是27呢,不是3+6+9吗

sum = 0
        for i in range(1,10):
                if (i%3):
                        sum = sum+i
        print(sum)

小甲鱼的铁粉 发表于 2020-11-1 16:31:50

if(i%3)
这个代码筛选出来的不是3的倍数,3,6,9对3取余都是0,就不进入if语句{:10_297:}

小甲鱼的铁粉 发表于 2020-11-1 16:32:41

小甲鱼的铁粉 发表于 2020-11-1 16:31
这个代码筛选出来的不是3的倍数,3,6,9对3取余都是0,就不进入if语句

所以加的应该是1,2,4,5,7,8,

1q23w31 发表于 2020-11-1 16:34:14


sum = 0
for i in range(1,10):
    if i%3==0:
      sum = sum+i
    print(sum)

条件理解错了
if (i%3):的意思是i对3的余数不为0,才运行if之后的语句

爱吃鱼的馒头 发表于 2020-11-1 16:40:42

噢噢,明白了,谢谢解答

爱吃鱼的馒头 发表于 2020-11-1 16:41:36

小甲鱼的铁粉 发表于 2020-11-1 16:32
所以加的应该是1,2,4,5,7,8,

明白了,谢谢解答

小甲鱼的铁粉 发表于 2020-11-1 16:45:50

0
页: [1]
查看完整版本: 这个程序运行结果为啥是27呢,不是3+6+9吗