for j in range(len(A)-1):
key = A[j]
i = j+1
print("***********")
print(j >= 0)
print(key > A[i])
print(j >= 0 & key > A[i])
A = [5,2,4,6,1,3]
INSERTION_SORT(A)
True
True
False
True
False
False
True
False
False
True
True
False
True
False
False
[Finished in 52ms]
print(j >= 0 & key > A[i])
应该改成
print(j >= 0 and key > A[i])
& 是二进制按位与运算符, &优先级高于>=和>比较运算符.
print(j >= 0 & key > A[i]) 是先计算0 & key
等于是print(j >= (0 & key) > A[i])
逻辑与运算符是and
你是用的什么编译器啊,如果是pycharm,你可以打断点,然后就能看到每次的k,i,j的取值了