如何输入浮点值n元组矩阵使用python ?



如果我的问题太基础,请原谅,因为我刚刚开始学习python

rows = int(input("Enter the Number of rows : "))   
column = int(input("Enter the Number of Columns: "))
print("Enter the elements of Matrix:")
matrix_a = [[tuple(input()) for i in range(column)] for i in range(rows)]
print("First Matrix is: ")
for n in matrix_a:
print(n)

获取输出

输入行数:2输入列数:2进入《黑客帝国》的元素:123456987644第一个矩阵为:[('1', '2', '3'), ('4', '5', '6')][('9', '8', '7'), ('6', '4', '4')]

如何输入浮点值作为n元组矩阵的元素

like [(0.9, 0.6, 0.5), (0.4, 0.5, 0.1)]

您可以使用(,)Python元组创建者来避免分割输入元素:

rows = int(input("Enter the Number of rows : "))   
column = int(input("Enter the Number of Columns: "))
print("Enter the elements of Matrix:")
matrix_a = [[(input(),) for i in range(column)] for i in range(rows)]
print("First Matrix is: ")
for n in matrix_a:
print(n)

输出:

Enter the Number of rows : 1
Enter the Number of Columns: 1
Enter the elements of Matrix:
999
First Matrix is: 
[('999',)]

如果你想要一个float元素的元组,你也可以使用生成器:

rows = int(input("Enter the Number of rows : "))   
column = int(input("Enter the Number of Columns: "))
print("Enter the elements of Matrix:")
matrix_a = [[tuple(float(a) for a in input()) for i in range(column)] for i in range(rows)]
print("First Matrix is: ")
for n in matrix_a:
print(n)

输入行数:1输入列数:1进入《黑客帝国》的元素:555第一个矩阵为:[(5.0, 5.0, 5.0)]

如果你想要能够输入浮点值,你需要定义一个分隔符,例如在输入值之间的一个空格。这也使您能够输入多位数的数字,这在原始版本中是不可能的。

...
matrix_a = [[tuple(map(float, input().split(" ")))
for i in range(column)] for i in range(rows)]
...
Enter the Number of rows : 2
Enter the Number of Columns: 2
Enter the elements of Matrix:
1.2 3.2 1.4
1 2 3
123
1.3 12 1
First Matrix is: 
[(1.2, 3.2, 1.4), (1.0, 2.0, 3.0)]
[(123.0,), (1.3, 12.0, 1.0)]

最新更新