我们必须输入一个数组大小,即 n = 5。然后我们根据数组在列表中的索引(例如奇数索引和偶数索引)对数组进行排序。然后我添加倒数第二个元素,它应该得到 7,但我得到了 5。 输入数字为 3 4 1 7 9
我尝试了下面的代码,得到的结果是 5 而不是 7。谁能告诉我这段代码有什么问题吗?
n = []
odd = []
even = []
nsize = 5
for i in range(0, nsize):
num = int(input("Enter number: "))
n.append(num)
if i % 2 == 0:
even.append(n[i])
else:
odd.append(n[i])
print("odd", sorted(odd))
print("even", sorted(even))
print(odd[-2] + even[-2])
sorted
不会修改 odd
或 even
列表;相反,它根据给定列表构建一个新的排序列表。要就地排序 odd
和 even
,请使用 .sort()
。因此,改变
print("odd", sorted(odd))
print("even", sorted(even))
到
odd.sort()
even.sort()
print("odd", odd)
print("even", even)
它会按预期工作。