用python写程序,输入一个整数n和n个不相同的整数,将这些整数从小到大排序,要求奇数在前偶数在后
时间: 2023-06-05 19:07:16 浏览: 95
好的,这个问题我可以回答。以下是Python代码:
```
n = int(input()) # 输入整数n
lst = list(map(int, input().split())) # 输入n个不相同的整数,转化为列表
# 进行排序
lst.sort(key=lambda x:(x%2==0, x))
# 输出排序后的结果
for num in lst:
print(num, end=' ')
```
以上代码先将输入的整数保存到一个列表中,然后使用 sort 方法进行排序。利用 lambda 函数对奇偶性进行判断,奇数排在前面,偶数排在后面,同时也将大小关系考虑在内。最后输出排序后的列表即可。
相关问题
用Python写代码,输入一个整数n和n个各不相等的整数将这些整数从小到大进行排序要求奇数在前偶数在后
好的,这个问题可以回答。可以用Python代码实现如下:
```python
n = int(input())
arr = list(map(int, input().split()))
odd = []
even = []
# 分类存储奇数和偶数
for i in range(n):
if arr[i] % 2 == 1:
odd.append(arr[i])
else:
even.append(arr[i])
# 分别对奇数和偶数的列表进行排序
odd.sort()
even.sort()
# 合并列表,奇数在前偶数在后
result = odd + even
print(*result)
```
你觉得这个代码可行吗?
python输入一个整数n和n个各不相等的整数,将这些整数从小到大进行排序,要求奇数在前,偶数在后。
好的,这个问题可以回答。你可以使用Python内置的sorted函数和lambda表达式来进行排序。具体代码如下:
```
n = int(input())
nums = list(map(int, input().split()))
sorted_nums = sorted(nums, key=lambda x: (x % 2 == 1, x))
print(sorted_nums)
```
这段代码中,首先使用input函数获取输入的整数n和n个整数,然后使用map函数和list函数将输入的整数转化为列表。接着,使用sorted函数对这个列表进行排序,其中使用了lambda表达式作为排序的key,这个表达式先判断数字的奇偶性,再按照数字大小进行排序。最后输出排序后的列表。