Я хочу создать функцию, которая принимает матрицу в качестве аргумента и делает следующее:
Я предполагаю, что это должно быть сделано с использованием индексов, но я не понимаю, как именно.
matrix = [[1,2,3],[4,5,6],[7,8,9], ['a','b','c','d']
def fun(matrix):
i = 0
j = 0
for i in matrix[i][j]:
# for the 1st task
matrix[i][0] = matrix[i][-1]
matrix[i][-1] = matrix[i][0]
# for the 2d task
if i = 1:
matrix[1][j]= matrix[-1][j]
matrix[-1][j] = matrix[1][j]
return matrix[i][j]
print(change(matrix))
Что неверно?
верно, это была заданная задача
Мне неудобно делать за вас домашнюю работу, поэтому я лучше дам вам несколько общих советов. Вы должны изучить как работают циклы в python, а также понять свою структуру данных. Похоже, вы не понимаете, как выглядит ваша матрица и как правильно обращаться к ее элементам. Как только вы поймете эти две вещи, вы сможете выполнить свою задачу самостоятельно.
на самом деле это не домашняя работа, это для самостоятельного изучения, и я пытаюсь понять, как это должно быть сделано, потому что мы потратили на это мало времени...
Я предлагаю вам отойти от кода Python и описать словами шаги, необходимые для выполнения каждой из трех задач.
Я также предлагаю вам взглянуть на использование функции среза в списках, чтобы помочь
Вы хотите этого добиться?
Исходная матрица:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
['a', 'b', 'c', 'd']
Изменена матрица:
[3, 2, 1]
['d', 'b', 'c', 'a']
[9, 8, 7]
[6, 5, 4]
Если да, то это будет код:
matrix = [[1,2,3], [4,5,6], [7,8,9], ['a','b','c','d']]
def display(matrix):
for row in matrix:
print(row)
print()
# displaying original matrix
print("Original matrix: \n")
display(matrix)
def swapElements(matrix):
for row in matrix:
row[0], row[len(row) - 1] = row[len(row) - 1], row[0]
def swapLines(matrix):
matrix[1], matrix[len(matrix) - 1] = matrix[len(matrix) - 1], matrix[1]
def doAllswaps(matrix):
swapElements(matrix)
swapLines(matrix)
return matrix
# displaying changed matrix
print("Changed matrix: \n")
display(doAllswaps(matrix))
Ваша матрица не является матрицей, поскольку ее строки имеют разные размеры. Это все усложняет. Это намеренно?