generate functionThu, 06 Apr 2023

На вход программе подаются два натуральных числа � n и � m. Напишите программу, которая создает матрицу размером � × � n×m заполнив её "спиралью" в соответствии с образцом. Формат входных данных На вход программе на одной строке подаются два натуральных числа � n и � m — количество строк и столбцов в матрице. Формат выходных данных Программа должна вывести матрицу в соответствии образцом. Примечание. Для вывода элементов матрицы как в примерах, отводите ровно 3 3 символа на каждый элемент. Для этого используйте строковый метод ljust(). Можно обойтись и без ljust(), система примет и такое решение 😇 Тестовые данные 🟢 Sample Input 1: 4 5 Sample Output 1: 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8

def spiral(x, y): a = [[0] * y for i in range(x)] dx, dy = [0, 1, 0, -1], [1, 0, -1, 0] x, y, c = 0, -1, 1 for i in range(max(x, y)**2): while True: nx, ny = x + dx[i % 4], y + dy[i % 4] if 0 <= nx < x and 0 <= ny < y and a[nx][ny] == 0: x, y = nx, ny break else: i += 1 a[x][y] = c c += 1 return a print(spiral(4, 5))

Questions about programming?Chat with your personal AI assistant