我是编程新手,在我的一个项目中遇到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
答案 0 :(得分:0)
当前,您在or
循环中使用了while
条件。
or
当count1
或count2
小于2时返回true,而当两个values >= 2
都返回false。
因此,在您的代码上,while
和count1 >= 2
会终止count2 >= 2
循环。
要在while
和count1
之一达到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