[英]The statement break is not breaking my while loop in python
我是編程新手。 我正在學習 python。 我正在嘗試解決一個問題以提高我的編碼技能。 問題鏈接: UVa 299 火車交換
我寫了一個代碼來解決這個問題。
我的代碼:
t = int(input())
for i in range(t):
value = int(input())
numbers = list(map(int, input().strip().split()))
count = 0
while True:
for item in range(len(numbers) - 1):
if numbers[item] > numbers[item + 1]:
count = count + 1
numbers[item], numbers[item + 1] = numbers[item + 1], numbers[item]
counter = 0
for x in range(len(numbers) - 1):
if numbers[x] < numbers[x + 1]:
counter = counter + 1
if counter == len(numbers):
break
print(count)
雖然我已經使用break
來中斷 while 循環,但循環沒有中斷。
請幫我打破循環。
提前致謝。
因為x
的范圍僅從0
到len(numbers) - 1
,所以counter
不能等於len(numbers)
因為即使每次在for x in range(len(numbers) - 1)
循環中counter
增加 1,它的最大值可以得到仍然是len(numbers) - 1
。 因此,將您的if
語句更改為
if counter == len(numbers) - 1:
break
你會沒事的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.