在Python中以多行获取4x4矩阵输入

时间:2014-02-17 15:44:32

标签: python input matrix

我正在尝试将4x4矩阵作为输入。

示例输入:

  1234年   5678
  9124
  3248

我已声明数组'a'如下,因此我可以通过指定像[1] [3],[2] [1]等索引来插入/获取矩阵值。

  对于xrange(n + 1)中的x,

a = [[0表示x在xrange(n + 1)]]

我在处理输入方面遇到了困难。即如何将16个元素分成四行,四行/行?

3 个答案:

答案 0 :(得分:2)

最简单的事情是:

input_ = "1234 5678 9124 3248"

a = [list(s) for s in input_.split(" ")]

a == [['1', '2', '3', '4'], ['5', '6', '7', '8'], 
      ['9', '1', '2', '4'], ['3', '2', '4', '8']]

如果您希望数字是整数而不是字符串,请尝试:

a = [list(map(int, s)) for s in input_.split(" ")]

a == [[1, 2, 3, 4], [5, 6, 7, 8], [9, 1, 2, 4], [3, 2, 4, 8]]

请注意,这仅适用于单位数整数。

如果您的输入是文件中的行,则可以拆分换行符"\n"而不是空格" "

答案 1 :(得分:0)

对于单个数字/字符输入,您可以简单地:

>>> a,b,c,d = str(input('>> '))
>> 1234
>>> a
'1'
>>> b
'2'
>>> c
'3'
>>> d
'4'

这将通过要求用户输入4次来实现您的目标:

lst =[]
for i in range(4):
    a,b,c,d= str(input('>> ')
    lst.append([a,b,c,d])

答案 2 :(得分:0)

a = []

for i in range(4):

    b = []

    for j in range(4):
        j = int(input("Enter Number in pocket [" + str(i) + "][" + str(j) + "]"))

        b.append(j)

    a.append(b)
print(" 4*4 Matrix is ......")

for i in range(4):

    for j in range(4):
        print(a[i][j], end=" ")

    print()