【发布时间】:2022-01-10 13:30:06
【问题描述】:
def INSERTION_SORT(A):
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]
为什么都是真的,结果是假的
【问题讨论】:
-
&看起来很可疑。 -
只有
j >= 0是“所有真实的”,这是因为对于for j in range(len(A)-1),所有j >= 0。你的问题到底是什么? -
&是位运算符,也许你的意思是and? -
“为什么都是真的,结果是假的”是什么意思?这段代码中没有任何结果。我不清楚它应该做什么,看看
INSERTION_SORT没有插入任何东西。 -
特别注意
j >= 0 & key > A[i]不是(j >= 0) & (key > A[i])而是j >= (0 & key) > A[i],即j >= 0 > A[i]。对于所有值,第一次比较为真,第二次比较为假,因此整个链式比较为假。
标签: python