蓝桥杯刷题第三天——排序

题目描述

输入个数进行排序,要求先按奇偶后按从小到大的顺序排序。

输入格式

第一行包含一个整数n。
第二行包含 n 个整数。

输出格式

输出排序之后的结果。
整数之间空格隔开。

数据范围

1≤≤1000,
输入整数取值范围[1,10000]。
 

蓝桥杯刷题第三天——排序_第1张图片

解题思路

  1. 首先分离奇数和偶数,使用列表推导式将输入的数字分为奇数和偶数两个列表。

  2. 分别对奇数列表和偶数列表进行排序。

  3. 合并列表,将排序后的奇数列表和偶数列表合并。

  4. 输出结果,将合并后的列表转换为字符串,并用空格分隔每个数字。

代码示例

def xax(n, m):
    odd = [num for num in m if num % 2 != 0]
    even = [num for num in m if num % 2 == 0]
    odd.sort()
    even.sort()
    x = odd + even
    return ' '.join(map(str, x))

n = int(input())
m = list(map(int, input().split()))
y = xax(n, m)
print(y)

结果展示

蓝桥杯刷题第三天——排序_第2张图片

你可能感兴趣的:(蓝桥杯,算法,数据结构,python)