sue2612285 发表于 2020-6-4 11:44:23

对于输出的答案还是不怎么理解,求解

for i in range(10):
    if i%2 != 0:
      print(i)
      continue
    i +=2
    print(i)

输出答案:
2
1
4
3
6
5
8
7
10
9

for i in range(10):
    if i%2 != 0:
      print(i)
对于这部分代码我能理解,就是求余数,但是
continue
    i +=2
    print(i)这部分代码我就懵逼了,请大神为我解答下,谢谢。

lei1996 发表于 2020-6-4 21:31:16

简单来说就是0-9的数字偶数加2输出奇数直接输出    i%2 就是判断奇偶用的
0+2, 1,2+2,3。。。。。。。。

88888 发表于 2020-6-5 08:46:55

执行到continue,当前也就是本次会跳过下面的代码,重新执行循环,按你的代码,就是输出内容之后,跳过后面的i+=2和最后一个输出,进行下一次循环

latiao-python 发表于 2020-6-5 13:04:31

for i in range(10):# i等于从0开始到9的每一个数字
    if i%2 != 0:   #当i 除以2 不等于0 的时候,也就是i 是奇数的时候进入循环
      print(i)   #举例 i等于0 的时候0%2 == 0
                   #所以不进入循环,执行下一个代码 也就是 0+2==2,以此类推
    i +=2          #i==0+2==2
    print(i)       #打印结果 就是2
                   #这一次执行完了之后 继续下一个 也就是i==1,1%2==1
                   #直接打印结果1
                   #以此类推,打印所有结果

latiao-python 发表于 2020-6-5 13:06:42

latiao-python 发表于 2020-6-5 13:04


上面说漏了一个continue

latiao-python 发表于 2020-6-5 13:10:15

latiao-python 发表于 2020-6-5 13:06
上面说漏了一个continue

这个意思是continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。你放这个地方没有意义,因为本来你现在的代码也是执行下一个和if i%2 != 0 平级的代码i +=2
    print(i)
页: [1]
查看完整版本: 对于输出的答案还是不怎么理解,求解