编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
时间: 2023-11-16 07:29:18 浏览: 77
第10次上机实验.docx
好的,以下是 Python 代码实现:
```python
import random
# 生成随机数列表
numbers = [random.randint(1, 100) for _ in range(20)]
# 前10个元素升序排列
numbers[:10] = sorted(numbers[:10])
# 后10个元素降序排列
numbers[10:] = sorted(numbers[10:], reverse=True)
# 输出结果
print(numbers)
```
解释一下代码:
1. 使用 `random.randint(1, 100)` 生成 1-100 之间的随机整数,使用列表推导式生成长度为 20 的随机数列表 `numbers`。
2. 利用列表切片 `[start:end]` 将 `numbers` 列表切分为前10个元素和后10个元素。
3. 对前10个元素进行升序排列,使用 Python 内置函数 `sorted()`。
4. 对后10个元素进行降序排列,使用 `sorted()` 函数的 `reverse` 参数。
5. 将排好序的前10个元素和后10个元素重新拼接成一个列表,并输出结果。
运行代码,输出结果类似如下:
```
[7, 8, 15, 16, 18, 34, 47, 58, 64, 66, 99, 96, 95, 92, 82, 76, 70, 67, 57, 52]
```
阅读全文