n= input("Enter size for matrix: ")
l=[[input("Enter number: ") for i in range(n)]for j in range(n)]
a=[[0 for i in range(n)]for j in range(n)]
for i in range(n):
for j in range(n):
a[j][i]=l[i][j]
for i in range(n):
a[i]=a[i].reverse()
for i in range(n):
for j in range(n):
print a[i][j],
print
В принципе, я хочу повернуть квадратную матрицу на 90 градусов. Я хочу не более эффективный фрагмент кода, который может сделать то же самое, но ошибку в этом коде.Какая ошибка в следующем коде? (Python 2.7, матрицы)
Ошибка в NoneType. Пожалуйста исправьте.
Вы ищете транспонирование или поворот? транспонирование [[1, 2], [3, 4]] [[1,3], [2, 4]], но поворот [[1,2], [3,4]] равен [[3 , 1], [4,2]]? –
Поверните на самом деле. Извините, если я не понял. – NigelTroy
ok, вместо того, чтобы переносить и использовать на нем обратную функцию. Вы можете сделать это в одном цикле. Но ваша техника тоже хороша. Если вы заинтересованы в выполнении одного цикла, обратитесь к моему ответу. Как сказал Жан Франсуа Фабр, вам не нужно повторно назначать, когда вы используете обратную операцию. –