Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 运行函数时,if语句未运行_Python_Arrays_Python 3.x_If Statement_Bubble Sort - Fatal编程技术网

Python 运行函数时,if语句未运行

Python 运行函数时,if语句未运行,python,arrays,python-3.x,if-statement,bubble-sort,Python,Arrays,Python 3.x,If Statement,Bubble Sort,我试图进行一个简单的冒泡排序,但用于对数组中的数字进行排序的if语句没有运行。有人能帮我把这个弄走吗 这是我的密码: 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

我试图进行一个简单的冒泡排序,但用于对数组中的数字进行排序的if语句没有运行。有人能帮我把这个弄走吗

这是我的密码:

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()

范围(0,len(a),-1)
始终为空列表,因为步骤为负。这不是
if
语句的错,而是
for
循环的错。您需要的是
range(len(a)-1)

为什么您认为它没有运行?我将print语句嵌套在if语句中,但它没有打印在if语句中,将print语句放入if语句中仅证明条件是否为真,不管那行代码是否正在运行。当我删除-1时,我的列表索引超出范围。谢谢!十分钟一过,我就投票。