0

我应该删除所有大于 5 的奇数,然后将所有偶数除以 2。这应该作为一个迭代过程发生,即某种循环。

A = [12, 8, 9, 2, 18, 3, 15, 19, 6, 12, 15, 3, 20, 3, 13, 6, 1, 20, 13, 14]

for i in A:
    if i%2 == 1 and i>5:
        A.remove(i)
    else: pass
print(A)

for i in A:
    if i%2 == 0:
        A[A.index(i)] /= 2
    
    else: pass
print(A)   

在第一个 for 循环中,19 不会被删除,我不知道为什么。如果我将其他赔率之一(例如 15)换成 19,那么它就会被移除。在第二个 for 循环中,当我将第一个数字 12 除以 2 时,它变为 3。如果我将 10 写为第一个数字,它变为 5。列表中后面的 12 变为 6。

为什么会发生这种情况,我该怎么做才能让它发挥作用?

4

0 回答 0