为什么我的Python while循环没有终止?

时间:2020-10-26 02:29:51

标签: python while-loop

我是编程新手,在我的一个项目中遇到python while循环的困扰。我简化了下面的代码。当count1或count2达到2时,下面的while循环不会终止。我在这里缺少什么?

count1 = 0
count2 = 0
while count1 < 2 or count2 < 2:
    print('count 1 : ' + str(count1) + ' count 2: ' + str(count2))

    q = int(input('enter 1 or 2'))

    if q == 1:
        count1 += 1
    if q == 2:
        count2 += 1

2 个答案:

答案 0 :(得分:0)

当前,您在or循环中使用了while条件。

orcount1count2小于2时返回true,而当两个values >= 2都返回false。

因此,在您的代码上,whilecount1 >= 2会终止count2 >= 2循环。

要在whilecount1之一达到count2的值时终止2循环,请使用and代替or作为

while count1 < 2 and count2 < 2
  ...

答案 1 :(得分:0)

您可以检查条件是否为真,然后中断

count1 = 0
count2 = 0
while True:
    print('count 1 : ' + str(count1) + ' count 2: ' + str(count2))
    q = int(input('enter 1 or 2'))
    if q == 1:
        count1 += 1
    if q == 2:
        count2 += 1
    if count1 > 2 or count2 > 2:
        break