随机产生n个元素放入列表中,对该列表内的元素进行奇、偶、奇、偶交替方式排序,并输出.例如[2,5,7,9,11,52,4]排序后[5,2,7,52,9,4,11]。 #特殊情况下,如果最后两个剩下的数同为奇数或者偶数,则直接排在最后两位即可
时间: 2023-09-15 12:18:42 浏览: 130
好的,这是一道Python编程题,我可以帮您解答。
下面是代码实现:
```python
import random
# 随机产生n个元素放入列表中
n = 10
lst = []
for i in range(n):
lst.append(random.randint(1, 100))
# 对该列表内的元素进行奇、偶、奇、偶交替方式排序
odd_lst = []
even_lst = []
for num in lst:
if num % 2 == 0:
even_lst.append(num)
else:
odd_lst.append(num)
result_lst = []
while len(odd_lst) > 0 or len(even_lst) > 0:
if len(odd_lst) > 0:
result_lst.append(odd_lst.pop(0))
if len(even_lst) > 0:
result_lst.append(even_lst.pop(0))
if len(odd_lst) == 0 and len(even_lst) == 1:
result_lst.append(even_lst.pop(0))
if len(odd_lst) == 1 and len(even_lst) == 0:
result_lst.append(odd_lst.pop(0))
# 输出结果
print("原始列表:", lst)
print("排序后列表:", result_lst)
```
这个程序会随机产生10个数放入列表中,然后按照奇、偶、奇、偶的顺序进行排序,并输出结果。
您可以根据需要修改变量n的值,来改变列表中元素的个数。
阅读全文