云朵颂 发表于 2018-1-16 11:16:45

不懂,/(ㄒoㄒ)/~~


请写出一个程序,打印出0~100的所有奇数。

i = 0
while i <= 100:
    if i % 2 != 0:
      print(i, end=' ')
       i += 1
    else:
      i += 1      后面这个else   i+=1 是什么意思呢?

orino 发表于 2018-1-16 11:24:28

i+=1是i=i+1 的简写形式,使用了+=加赋值运算符

云朵颂 发表于 2018-1-16 11:31:38

orino 发表于 2018-1-16 11:24
i+=1是i=i+1 的简写形式,使用了+=加赋值运算符

上面循环不是用过 i +=1么?else后面再出现这个,是为了表达什么呢?

BngThea 发表于 2018-1-16 11:34:19

因为不管满不满足 i 是基数,每次循环都应该让 i 自增 1
如果去掉这一句,那么当if语句不成立时,是不会自增的,进入死循环

505222621 发表于 2018-1-16 11:34:43

符合判断条件只会执行else上面的,不满足只会执行else下面的

大麦miracle 发表于 2018-1-16 11:42:07

简单解释下:
i = 0#给i赋值为0
while i <= 100:#当i小于等于100的时候,进行while循环
    if i % 2 != 0:#如果i是奇数,比如3%2余1,执行下面的语句
      print(i, end=' ')#打印出奇,3
       i += 1然后重新给i赋值就是i=3+1也就是4,然后继续while循环因为小于等于100
    else:#如果if不成立比如6%2是等于0 的,那么执行下面语句
      i += 1   #重新给i赋值就是i=6+1=7,然后继续进行循环
不管你是奇数还是偶数,只要是一百以内的都要进行循环,所以不管if语句成立不成立,都要进行+1,这样才能每一个都循环,循环到奇数的时候就打印出来,是偶数的时候就不打印+1再循环,只要这样才能打印出所有奇数

orino 发表于 2018-1-16 11:45:18

云朵颂 发表于 2018-1-16 11:31
上面循环不是用过 i +=1么?else后面再出现这个,是为了表达什么呢?

不管if成立不成立,最后每个循环结束都是要是i增加的,不然会无限循环下去

云朵颂 发表于 2018-1-16 13:38:55

BngThea 发表于 2018-1-16 11:34
因为不管满不满足 i 是基数,每次循环都应该让 i 自增 1
如果去掉这一句,那么当if语句不成立时,是不会自 ...

谢谢{:10_254:}{:10_254:}

云朵颂 发表于 2018-1-16 13:42:05

505222621 发表于 2018-1-16 11:34
符合判断条件只会执行else上面的,不满足只会执行else下面的

谢谢{:10_254:}{:10_254:}

云朵颂 发表于 2018-1-16 13:45:43

BngThea 发表于 2018-1-16 11:34
因为不管满不满足 i 是基数,每次循环都应该让 i 自增 1
如果去掉这一句,那么当if语句不成立时,是不会自 ...

谢谢{:10_254:}{:10_254:}

云朵颂 发表于 2018-1-16 13:47:28

大麦miracle 发表于 2018-1-16 11:42
简单解释下:
i = 0#给i赋值为0
while i

{:5_105:}完美
页: [1]
查看完整版本: 不懂,/(ㄒoㄒ)/~~