随机生成一个1到100的20个数字的数列 python编程把偏离大的数值剔除,去除重复数字,按照逆序保存在文件中,每行一个数字并保留两位小数,并在文件头写入整体数列
时间: 2024-10-17 21:10:11 浏览: 33
要在Python中完成这个任务,首先你需要导入必要的库,比如`random`用于生成随机数,`set`用于去重,`numpy`(如果需要)处理数据排序,以及`csv`或`io`用于写入文件。以下是详细的步骤:
```python
import random
import numpy as np
# 生成一个包含20个1到100之间随机整数的列表
numbers = random.sample(range(1, 101), 20)
numbers = sorted(numbers, reverse=True) # 按降序排列
# 去除偏离较大的数值,这里假设"偏离大"是指大于95或小于5的数字
filtered_numbers = [num for num in numbers if 5 <= num <= 95]
# 将列表转换成numpy数组以便于保留两位小数
filtered_numbers = np.array(filtered_numbers, dtype=np.float64).round(2)
# 将数组写入CSV文件,每行一个数字
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(["Overall Numbers"])
writer.writerow(filtered_numbers.tolist())
# 或者直接写入文本文件
with open('output.txt', 'w') as file:
file.write("Overall Numbers\n")
for number in filtered_numbers:
file.write(f"{number:.2f}\n")
```
这将创建一个名为`output.csv`或`output.txt`的文件,其中包含了去除偏离较大值后的20个随机数,每行一个,保留两位小数。
阅读全文