当 运行 我的函数我的 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)
.
我正在尝试进行简单的冒泡排序,而我用来对数组中的数字进行排序的 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)
.