龙象 发表于 2017-6-23 16:20:11

第6讲课后题动动手

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

i = 0
while i <= 100:
    if i % 2 != 0:
      print(i, end=' ')
      i += 1
    else:
      i += 1
请问一下,1.第一行的i = 0是什么意思?为什么是0?可以等于别的么?
               2.if条件下的i+= 1和else条件下的i +=1为什么是一样的?

gopythoner 发表于 2017-6-23 16:26:36

i = 0是给i一个起始值,用于后面的迭代
至于你第二个问题,其实就是迭代,每循环一次i的值就增加1
不过一般不会这样写,而是这样写
i = 0
while i <= 100:
    if i % 2 != 0:
      print(i, end=' ')
    else:
      pass
    i += 1

龙象 发表于 2017-6-23 17:03:31

gopythoner 发表于 2017-6-23 16:26
i = 0是给i一个起始值,用于后面的迭代
至于你第二个问题,其实就是迭代,每循环一次i的值就增加1
不过一 ...

if和else的条件一样的话,就可以用pass代替是么?我刚刚学习,还没有学这种用法;
还有任何程序最开始都需要赋一个初始值是么?谢谢回答

gopythoner 发表于 2017-6-23 17:11:23

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

其实else这句是可以不需要的,结果一样可以输出
并不是每个程序都需要开始的时候赋值,这个只是为了循环迭代
基础问题一句话说不清楚,自己去看吧

龙象 发表于 2017-6-23 17:22:29

gopythoner 发表于 2017-6-23 17:11
其实else这句是可以不需要的,结果一样可以输出
并不是每个程序都需要开始的时候赋值,这个只是为了循 ...

好的。多谢回答,已经大概明白是什么意思了
页: [1]
查看完整版本: 第6讲课后题动动手