У меня есть задача, в которой мне нужно сделать следующее:
Напишите программу, позволяющую пользователю вводить целочисленные значения и запрашивать двумерный массив размером 9x9. Затем ваша программа должна запросить у пользователя пару координат (x, y), разделенных пробелом, и вернуть значение в позиции, указанной заданными координатами. Например, 0 3 должно возвращать значение 7 (значение в первой строке, четвертом столбце, учитывая, что индексы массива начинаются с нуля). Предположим, что каждое целое число представляет собой одну цифру от 1 до 9. Введите -1 для любой координаты, чтобы завершить программу.
Я продолжаю получать эту ошибку:
недопустимый литерал для int() с основанием 10: ''
это код:
print("Enter an array:")
array_9x9 = [input() for i in range(9)]
while True:
# Read a line of coordinates, split into two elements, convert to integers
x, y = map(int, input("Enter coordinates: ").split(' ', 2))
# Stop if sentinel in either coordinate
if -1 in (x, y):
print("DONE")
break
# print the element at the specified coordinates
print('Value = ' [array_9x9[x][y]])
это вывод:
Sample I/O:
Enter an array:
359716482
867345912
413928675
398574126
546281739
172639548
984163257
621857394
735492861
Enter coordinates:
0 3
Value = 7
Enter coordinates:
5 5
Value = 9
Enter coordinates:
8 8
Value = 1
Enter coordinates:
-1 -1
DONE
map(int, ...)
одновременно делает больше, чем вы сейчас можете понять. Разделите его на несколько строк, каждая из которых выполняет только одно действие, чтобы понять, где происходит ошибка. Это также позволяет вам распечатать промежуточные значения, чтобы проверить, соответствуют ли они тому, что вы ожидаете. - person mkrieger1   schedule 28.05.2021