生成一个N*N的二维实数列表,将所有数据(保留两位小数)以矩阵形式(N*N)写入文件:data2.txt,数据间用逗号隔 要求:在主程序中输入:N,通过函数调用生成二维实数列表,并在主程序中将数据写入文件
时间: 2024-01-22 15:17:46 浏览: 78
写的二维数据代码
以下是生成二维实数列表并写入文件的代码:
```python
import random
def generate_matrix(n):
matrix = [[round(random.uniform(0, 10), 2) for _ in range(n)] for _ in range(n)]
return matrix
def write_to_file(matrix):
with open('data2.txt', 'w') as f:
for row in matrix:
row_str = ', '.join(map(str, row))
f.write(row_str + '\n')
n = int(input("请输入N:"))
matrix = generate_matrix(n)
write_to_file(matrix)
```
首先定义了一个函数 `generate_matrix`,用于生成一个 N * N 的二维实数列表。其中使用了 Python 内置的 `random` 模块生成随机数,并使用 `round` 函数保留两位小数。
然后定义了一个函数 `write_to_file`,用于将列表写入文件。使用 `with open` 语句打开文件,遍历列表中的每一行,使用 `join` 函数将每一行转换成字符串,然后写入文件中。
最后在主程序中,通过调用 `generate_matrix` 和 `write_to_file` 函数,生成二维实数列表并写入文件中。同时使用 `input` 函数获取用户输入的 N 的值。
阅读全文