python循环输出十以内偶数

以下代码为什么不能输出十以内的偶数呢?什么结果都没有

count = 0
while count <= 9:
    if(count % 2 != 0):
        continue
    else:
        print(count)

    count += 1
print('done')

阅读 6.9k
4 个回答
count = 0
while count <= 9:
    if(count % 2 != 0):
        # continue 跳过了 count +=1 
        # 进了这里 count 就没有变化的机会了
        # 于是死循环
        continue
    else:
        print(count)

    count += 1
print('done')

根本就不需要continue关键字。你的代码的正确逻辑应该是这样:

>>> count = 0
>>> while count <= 9:
...     if count % 2 == 0:
...             print(count)
...     count += 1
...
0
2
4
6
8

但是这一点也不pythonic,python程序员通常不用while关键字:

>>> for i in range(0, 10):
...     if i % 2 == 0:
...             print(i)
...
0
2
4
6
8

但是python程序员还是觉得上述代码太累赘,他们会这样:

>>> for i in range(0, 10, 2):
...     print(i)
...
0
2
4
6
8
[i for i in range(10) if i&1==0]

[i for i in range(0,10,2)]
// 低效的方式
count = 0
while count <= 9:
    if(count % 2 == 0):
        print(count)
    
    count += 1
print('done')
// 高效的方式
print('0\n2\n4\n6\n8')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题