Я студент, который любит программирование.Я столкнулся с проблемой сегодня, и я не знаю, как решить эту проблему.Я искал "Python - представление строки в матрицу" ( Python - представление строки в матрицу ) для справки, но я все еще запутался в этой проблеме.
Проблема заключается в следующем:
Учитывая строку чисел, разделенных пробелами, создайте матрицу nxn (двумерный список с таким же количеством столбцов, что и строк) и верните его.Строка будет содержать идеальное квадратное число целых чисел.Функции int () и split () могут быть полезны.
Пример:
Ввод: '1 2 3 4 5 6 7 8 9'
Выход: [[1,2,3], [4,5,6], [7,8,9]]
Пример 2:
Ввод: '1'
Выход: [[1]]
Myответ:
import numpy as np
def string_to_matrix(str_in):
str_in_split = str_in.split()
answer = []
for element in str_in_split:
newarray = []
for number in element.split():
newarray.append(int(number))
answer.append(newarray)
print (answer)
Результаты теста следующие:
Traceback (most recent call last):
File "/grade/run/test.py", line 20, in test_whitespace
self.assertEqual(string_to_matrix('1 2 3 4'), [[1,2],[3,4]])
AssertionError: None != [[1, 2], [3, 4]]
Stdout:
[[4]]
, а также
Traceback (most recent call last):
File "/grade/run/test.py", line 15, in test_small
self.assertEqual(string_to_matrix('1 2 3 4'), [[1,2],[3,4]])
AssertionError: None != [[1, 2], [3, 4]]
Stdout:
[[4]]
и
Traceback (most recent call last):
File "/grade/run/test.py", line 10, in test_one
self.assertEqual(string_to_matrix('1'), [[1]])
AssertionError: None != [[1]]
Stdout:
[[1]]
а также
Traceback (most recent call last):
File "/grade/run/test.py", line 25, in test_larger
self.assertEqual(string_to_matrix('4 3 2 1 8 7 6 5 12 11 10 9 16 15 14 13'), [[4,3,2,1], [8,7,6,5], [12,11,10,9], [16,15,14,13]])
AssertionError: None != [[4, 3, 2, 1], [8, 7, 6, 5], [12, 11, 10, 9], [16, 15, 14, 13]]
Stdout:
[[13]]
Я все еще не понимаю, как решить эту проблему.Большое спасибо за Вашу помощь!