我正在尝试进行简单的冒泡排序,而我用来排序数组中的数字的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 :(得分:3)
range(0, len(a), -1)
始终为空列表,因为该步骤为否定。责备不是if
语句,而是for
循环。你需要的是range(len(a)-1)
。