so I have this python 3 code to input a matrix:
matrix = []
lop=True
while lop:
line = input()
if not line:
lop=False
if matrix != []:
if len(line.split()) != len(matrix[-1]):
print("Not same length")
menu()
values = line.split()
row = [int(value) for value in values]
matrix.append(row)
However,if I enter
1 2 3
4 5 6 7
8 9 0 1 2
my code will let it pass,but you can notice that row 2 and 3 are not same length as row 1; how to prevent that? the row have to be same length as row 1,else it has to return an error message like 'line don't have the same length. I'm not quite sure of how to do that. Maybe:
for row in matrix:
if len(row) == matrix[1]
pass
else:
print('not same length')
But it doesn't work.
Thanks
解决方案
If you want match the first row length, Try this way,
Use len(matrix[0])
for row in matrix:
if len(row) == len(matrix[0]):
pass
else:
print('not same lenght')