矩阵输入结果 (Python)

2024-04-19 01:44:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python编写了这段代码,用于输入矩阵:

def gestionmatrice():       

    print("Entrez la matrice,séparé par des espaces pour chaques colonnes")
    print("une rangée par ligne,et faites un ligne vide pour terminer")
    matrix = []
    while True:
        line = input()
        if not line: break
        values = line.split()
        row = [int(value) for value in values]
        matrix.append(row)

    print(matrix)

用户输入矩阵,每行输入所有需要的int值,用空格隔开,然后按enter键确认该行,input下一行。要完成此操作,用户必须input一个空白行,然后按enter。最后,我希望通过打印矩阵来查看它;问题是它不能正常工作;例如,如果用户输入1 2 3,然后在下一行输入4 5 6,那么{}将得到:[[1, 2, 3], [4, 5, 6]],它应该是print1 2 3 4 5 6,所以有些东西没有工作。什么必须修改吗?提前谢谢。在


Tags: 代码用户inputvalueline矩阵matrixint
3条回答

您可以像这样用Python打印出一个矩阵:

def print_matrix(matrix):
    print('\n'.join([' '.join(map(str, row)) for row in matrix]))

下面是一个获取矩阵函数:

^{pr2}$

演示:

>>> matrix = get_matrix()
1 2 3
4 5 6
7 8 9

>>> print_matrix(matrix)
1 2 3
4 5 6
7 8 9

我不太清楚你为什么要这样,但你可以做一些类似的事情:

代替print(matrix),请执行以下操作:

>>> print(*(' '.join(map(str, sub)) for sub in matrix), sep='\n')
1 2 3
4 5 6

这是快速解决办法。在

[[1, 2, 3], [4, 5, 6]]

是矩阵的默认打印(在许多语言中,不仅仅是python)。在

为了达到你想要的,你必须做一些

^{pr2}$

相关问题 更多 >