#!/usr/bin/env python3 from random import randint def get_matrix_fixed(): return [ [9, 13, 5, 2], [1, 11, 7, 6], [3, 7, 4, 1], [6, 0, 7, 10] ] def get_matrix_random(size=5, value_min=0, value_max=100): m = [] for _ in range(size): row = [ randint(value_min, value_max) for _ in range(size) ] m.append(row) return m def print_matrix_normal(matrix): for row in matrix: values = [ str(item) for item in row ] print('; '.join(values)) def print_matrix_diagonal(matrix): if not matrix or not matrix[0]: return size = len(matrix) - 1 i = size while i >= 0 - size: if i >= 0: y = 0 x = i else: y = abs(i) x = 0 values = [] while y <= size and x <= size: values.append(str(matrix[y][x])) y += 1 x += 1 print('; '.join(values)) i -= 1 # matrix = get_matrix_fixed() matrix = get_matrix_random() print_matrix_normal(matrix) print() print_matrix_diagonal(matrix)