Матрицы. Заполнение диагоналями

На вход программе подаются два натуральных числа n и m. Напишите программу, которая создает матрицу размером n×m заполнив её «диагоналями» в соответствии с образцом.

Формат входных данных
На вход программе на одной строке подаются два натуральных числа n и m — количество строк и столбцов в матрице.

Формат выходных данных
Программа должна вывести указанную матрицу в соответствии с образцом.

n, m = map(int, input().split())
matrix = [['0' for x in range(m)] for y in range(n)]
count = 1
for k in range(n + m - 1):
    if k <= m - 1:
        x = 0
        y = k - x
    else:
        x = k - m + 1
        y = k - x
    while y >= 0 and x < n:
        matrix[x][y] = str(count).ljust(3)
        x += 1
        y -= 1
        count += 1

for i in matrix:
    print(*i)
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: