簡體   English   中英

語句 break 沒有破壞我在 python 中的 while 循環

[英]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的范圍僅從0len(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM