当 运行 我的函数我的 if 语句不是 运行

When running my function my if statement is not running

我正在尝试进行简单的冒泡排序,而我用来对数组中的数字进行排序的 if 语句不是 运行ning。谁能帮我把这个发到 运行?

这是我的代码:

def Bubble( a ):
    Flag = False
    while not Flag:
        Flag = True
        for i in range(0, len(a), -1):
            if a[i] > a[i+1]: #this if statement isn't running
                a[i], a[i + 1] = a[i + 1], a[i]
                print("hi")
                Flag = False



def main():
    a = GRN(10)
    acopy = a[:]
    Bubble(a)
    acopy.sort()
    print(a==acopy)
    print(a)
    print(acopy)


main()

range(0, len(a), -1) 始终是一个空列表,因为步长为负。这不应该归咎于 if 语句,而是 for 循环。你需要的是 range(len(a)-1).