我的数组排序程序在python中很奇怪

63lcw9qa  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(205)

所以我对编程不熟悉,我尝试用python做一个数组排序算法,它将给出第一个最大值和第二个最大值:

l = [2,3,3]
first = 0
second = 0
for i in range(len(l)) :
    if l[i] > first :
        second = first
        first = l[i]
    elif l[i] > second & l[i] != first :
        second = l[i]
print(first, second)

奇怪的是,当我运行程序时,它给我的是“3 3”而不是“3 2”,然后我了解到它将第二个3视为第二大值,但我不希望它被注册为前3以外的其他值。更奇怪的是,当我把它放在这里时,它实际上是固定的: elif l[i] > second & l[i] == first : 与此相反: elif l[i] > second & l[i] != first : 我试图在头脑中解释代码,当我到达第二个“3”时,我不明白为什么 second = l[i] 部分代码正在运行,因为这意味着3不等于3,所以。。然而,当3等于3时,这部分不会执行(我认为)。所以我的问题实际上已经解决了,但我不明白为什么,一些解释会很好,因为我是编程新手,可能不太了解操作符。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题