20192019 发表于 2019-3-24 23:53:50

求所有的奇数i+=1不懂

i = 0
while i <= 100:
    if i % 2 != 0:
      print(i, end=' ')
      i += 1
    else:
      i += 1

luoydqsn 发表于 2019-3-24 23:55:54

i += 1   等效于i = i + 1

是一种简写~~要知道下下~~

20192019 发表于 2019-3-24 23:57:41

luoydqsn 发表于 2019-3-24 23:55
i += 1   等效于i = i + 1

是一种简写~~要知道下下~~

?这个我知道,我要问要他有什么用

大裤衩子 发表于 2019-3-25 00:02:48

20192019 发表于 2019-3-24 23:57
?这个我知道,我要问要他有什么用

叠加啊,判断完当前的数字后(不论奇数还是偶数),然后判断下一个数字,不然i不能叠加,while就成了死循环了

luoydqsn 发表于 2019-3-25 00:05:54

本帖最后由 luoydqsn 于 2019-3-25 00:10 编辑

20192019 发表于 2019-3-24 23:57
?这个我知道,我要问要他有什么用

首先去掉常有思维,不要觉得这个 i 是不可变的
i += 1 意思是说把 i 与 1 相加, 然后复制给 i ,这是一种计算机思维

比如这个代码第一次循环额时候, i = 0, 执行 else 下的代码块,
于是 先有 0 + 1 = 1,然后赋值给 i,于是i = 1

然后进入第二次循环,这时 i 的值是 1,会执行 if 下的代码块,先打印出 i 的值,也就是 1 ,然后 i = 1 + 1 = 2

以此类推,希望你看的明白

cattyyeah 发表于 2020-7-14 06:36:16

luoydqsn 发表于 2019-3-25 00:05
首先去掉常有思维,不要觉得这个 i 是不可变的
i += 1 意思是说把 i 与 1 相加, 然后复制给 i ,这是 ...

把逻辑讲的很清楚,这样比单纯的讲概念更容易被新手接受。这叫小白用户思维是不?{:5_107:}

cattyyeah 发表于 2020-7-14 06:41:53

luoydqsn 发表于 2019-3-25 00:05
首先去掉常有思维,不要觉得这个 i 是不可变的
i += 1 意思是说把 i 与 1 相加, 然后复制给 i ,这是 ...

为什么要先执行else下的代码块呢?所有的类似程序都是先执行else,再执行if吗?

weiyideid823 发表于 2020-7-14 15:40:28

cattyyeah 发表于 2020-7-14 06:41
为什么要先执行else下的代码块呢?所有的类似程序都是先执行else,再执行if吗?

不是先执行else,是因为不满足if 的判决条件 i % 2 != 0,所以才去执行else的

cattyyeah 发表于 2020-7-14 16:32:05

weiyideid823 发表于 2020-7-14 15:40
不是先执行else,是因为不满足if 的判决条件 i % 2 != 0,所以才去执行else的

明白了,就是满足能满足的条件优先,对吧

weiyideid823 发表于 2020-7-15 11:02:05

cattyyeah 发表于 2020-7-14 16:32
明白了,就是满足能满足的条件优先,对吧

是的
页: [1]
查看完整版本: 求所有的奇数i+=1不懂