while循环并且小于或等于符号(Python)

Zio*_*ion 1 python while-loop python-3.x

所以我在做while循环,我发现了一些奇怪的东西.

count = 0

while count <= 5:
    count += 1
    print(count)
Run Code Online (Sandbox Code Playgroud)

输出:

1
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)

这不是我不理解循环.这是怎么计数打印到六个?什么时候打印count只要count小于或等于5?

而且6是超过5.为什么会这样?

我知道我能做到

count = 0

    while count != 5:
        count += 1
        print(count)
Run Code Online (Sandbox Code Playgroud)

但我只是想明白为什么推杆<=表现得很奇怪?

Mar*_*ers 5

没有什么奇怪的<=; 你的循环条件允许数字最多包括 5.但是你增加count打印出来,这样您将打印6最后.

这是因为count = 5满足你的循环条件,然后你添加一个来制作它6并打印.通过循环下一次count <= 5不再是真正的,唯一然后循环结束.

所以你的代码执行此操作:

  1. count = 0,count <= 5- > True,count += 1制作count = 1,打印1.
  2. count = 1,count <= 5- > True,count += 1制作count = 2,打印2.
  3. count = 2,count <= 5- > True,count += 1制作count = 3,打印3.
  4. count = 3,count <= 5- > True,count += 1制作count = 4,打印4.
  5. count = 4,count <= 5- > True,count += 1制作count = 5,打印5.
  6. count = 5,count <= 5- > True,count += 1制作count = 6,打印6.
  7. count = 6,count <= 5- > False,结束循环.

您可以打印递增计数器:

while count <= 5:
    print(count)
    count += 1
Run Code Online (Sandbox Code Playgroud)

或者你可以使用<,只允许数字5:

while count < 5:
    count += 1
    print(count)
Run Code Online (Sandbox Code Playgroud)