📌  相关文章
📜  在Python中从用户那里获取矩阵输入(1)

📅  最后修改于: 2023-12-03 14:51:19.128000             🧑  作者: Mango

在Python中从用户那里获取矩阵输入

当我们需要从用户那里获取一个矩阵时,Python提供了多种方法来完成这个任务。本文将介绍其中的两种方法:使用input()函数和使用numpy模块中的numpy.array()函数。

使用input()函数

input()函数用于从用户那里获取输入,可用于获取单个数字或字符串。当我们需要获取一组由空格分隔开的数字时,可以将这些数字输入到一个字符串中,然后使用split()函数将它们分割成单独的数字,再将它们转换为数字类型。下面是一个示例代码:

n = int(input("请输入矩阵的行数:"))
m = int(input("请输入矩阵的列数:"))

matrix = []
for i in range(n):
    row = [int(x) for x in input(f"请输入第{i+1}行的数字,用空格隔开:").split()]
    matrix.append(row)

print(matrix)

运行以上代码,会依次提示用户输入矩阵的行数、列数和每一行的数字,最后输出一个矩阵。例如,以下是一个3x3的矩阵:

请输入矩阵的行数:3
请输入矩阵的列数:3
请输入第1行的数字,用空格隔开:1 2 3
请输入第2行的数字,用空格隔开:4 5 6
请输入第3行的数字,用空格隔开:7 8 9
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
使用numpy.array()函数

numpy是一个广泛使用的Python数学库,提供了一系列的数值计算函数和数据结构。其中的numpy.array()函数可用于将一个列表转换为矩阵形式。我们可以先使用input()函数获取用户输入的数字,并将它们存储到一个列表中,然后使用numpy.array()函数将列表转换为矩阵。下面是一个示例代码:

import numpy as np

n = int(input("请输入矩阵的行数:"))
m = int(input("请输入矩阵的列数:"))

matrix = []
for i in range(n):
    row = [int(x) for x in input(f"请输入第{i+1}行的数字,用空格隔开:").split()]
    matrix.append(row)

matrix = np.array(matrix)
print(matrix)

运行以上代码,会依次提示用户输入矩阵的行数、列数和每一行的数字,最后输出一个矩阵。例如,以下是一个3x3的矩阵:

请输入矩阵的行数:3
请输入矩阵的列数:3
请输入第1行的数字,用空格隔开:1 2 3
请输入第2行的数字,用空格隔开:4 5 6
请输入第3行的数字,用空格隔开:7 8 9
[[1 2 3]
 [4 5 6]
 [7 8 9]]

以上就是在Python中从用户那里获取矩阵输入的两种方法。读者可以根据自己的实际情况选择适合自己的方法。