【问题标题】:Entering 2 numbers upon user input, separated by spacing在用户输入时输入 2 个数字,以空格分隔
【发布时间】:2018-03-02 02:53:54
【问题描述】:

我正在尝试用 Python 编写一个将两个 2x2 矩阵相乘的程序。我在用户输入时遇到问题,用户需要输入代表矩阵的一行的 2 位数字。

userin = int(input("Enter first 2x2 matrix: ")).split(' ')

print(userin)

我收到一条错误消息:

以 10 为基数的 int() 的无效文字:'3 4'

我想要得到的是这样的:

Enter first 2x2 matrix: 3 4
Enter second 2x2 matrix: 7 9
Here's your matrix: [[3,4],[7,9]]     #this is for testing purpose 

我的用户输入有问题,我想先输入第一个数字,例如 3,然后按空格键输入第二个数字,即 4。添加 split(' ') 是否足够?

【问题讨论】:

    标签: python matrix


    【解决方案1】:

    您可以在拆分后使用 list comprehension 转换为 int,例如:

    userin = [int(x) for x in input("Enter first 2x2 matrix: ").split(' ')]
    

    【讨论】:

      【解决方案2】:

      这是一种方法:

      import numpy as np
      
      row1 = list(map(int, input("Enter first 2x2 matrix: ").split(' ')))
      row2 = list(map(int, input("Enter second 2x2 matrix: ").split(' ')))
      
      arr = np.vstack((row1, row2))
      

      【讨论】:

        猜你喜欢
        • 2016-03-12
        • 2012-10-17
        • 1970-01-01
        • 2015-08-17
        • 2021-06-12
        • 2022-11-27
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        相关资源
        最近更新 更多