用python给数列1,3,5,1,2按降序排序并输出新列表
时间: 2023-05-22 07:06:21 浏览: 61
可以使用以下代码:
```
lst = [1, 3, 5, 1, 2]
sorted_lst = sorted(lst, reverse=True)
print(sorted_lst)
```
输出结果为:
```
[5, 3, 2, 1, 1]
```
相关问题
输入n个整数(不超过100),存放到数组a中,按升序或降序排序并输出
可以使用冒泡排序、快速排序等算法对数组a进行排序,具体实现如下:
1. 冒泡排序
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。
按升序排序的冒泡排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 冒泡排序
for i in range(n-1):
for j in range(n-i-1):
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print("升序排序结果:", a)
```
按降序排序的冒泡排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 冒泡排序
for i in range(n-1):
for j in range(n-i-1):
if a[j] < a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print("降序排序结果:", a)
```
2. 快速排序
快速排序是一种常用的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
按升序排序的快速排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 快速排序
def quick_sort(a, left, right):
if left >= right:
return
i, j = left, right
pivot = a[left]
while i < j:
while i < j and a[j] >= pivot:
j -= 1
a[i] = a[j]
while i < j and a[i] <= pivot:
i += 1
a[j] = a[i]
a[i] = pivot
quick_sort(a, left, i-1)
quick_sort(a, i+1, right)
quick_sort(a, 0, n-1)
print("升序排序结果:", a)
```
按降序排序的快速排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 快速排序
def quick_sort(a, left, right):
if left >= right:
return
i, j = left, right
pivot = a[left]
while i < j:
while i < j and a[j] <= pivot:
j -= 1
a[i] = a[j]
while i < j and a[i] >= pivot:
i += 1
a[j] = a[i]
a[i] = pivot
quick_sort(a, left, i-1)
quick_sort(a, i+1, right)
quick_sort(a, 0, n-1)
print("降序排序结果:", a)
```
创建一个数列,存储10个同学某项技能比赛成绩,计算并输出该项技能比赛前三名成绩及平均成绩的python代码
### 回答1:
score_list = [85, 92, 78, 90, 83, 95, 88, 91, 87, 89]
# 计算前三名成绩
top3 = sorted(score_list, reverse=True)[:3]
# 计算平均成绩
average = sum(score_list) / len(score_list)
print("前三名成绩为:", top3)
print("平均成绩为:", average)
### 回答2:
```python
# 创建数列存储10个同学的比赛成绩
scores = []
# 输入10个同学的比赛成绩
for i in range(10):
score = float(input("请输入第{}个同学的比赛成绩:".format(i+1)))
scores.append(score)
# 对数列进行排序
scores.sort(reverse=True)
# 输出前三名成绩
print("前三名成绩为:")
for i in range(3):
print(scores[i])
# 计算平均成绩
average_score = sum(scores) / len(scores)
print("平均成绩为:", average_score)
```
以上代码首先创建一个空的数列`scores`,然后通过循环输入10个同学的比赛成绩,并将每个成绩添加到数列中。接着使用`sort`函数对数列进行降序排序。然后通过循环输出数列中前三个元素,即前三名的成绩。最后,计算总成绩并除以同学人数得到平均成绩,并输出。注意,这里假设输入的比赛成绩都是有效的浮点数。
### 回答3:
```python
scores = [] # 创建一个空列表用于存储成绩
# 添加同学的成绩到列表
for i in range(10):
score = float(input("请输入第{}个同学的成绩:".format(i+1)))
scores.append(score)
# 按照成绩从高到低排序
scores.sort(reverse=True)
# 输出前三名成绩
print("前三名成绩为:")
for i in range(3):
print(scores[i])
# 计算平均成绩
average_score = sum(scores) / len(scores)
# 输出平均成绩
print("平均成绩为:", average_score)
```
这段代码首先创建了一个空列表 `scores` 用于存储成绩。然后使用一个循环,依次让用户输入 10 个同学的成绩,并将其添加到 `scores` 列表中。接下来,使用 `sort()` 方法对 `scores` 列表进行降序排序,以便能够方便地找出前三名成绩。然后,通过循环输出前三名成绩。最后,使用 `sum()` 函数计算所有成绩之和,并将其除以成绩总数得到平均成绩。最后再输出平均成绩。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)