Решение модуля 4.6 Поколение Python: для продвинутых

Ответы и решения урока 4.6(Матрицы. Часть 3) на курс «Поколение Python: курс для продвинутых»

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

x, y = [int(i) for i in input().split()]

matrix = [['.'] * y for _ in range(x)]

for i in range(x):
    if i == 0 or i % 2 == 0:
        for j in range(1, y, 2):
            matrix[i][j] = '*'
    else:
        for j in range(0, y, 2):
            matrix[i][j] = '*'

for row in matrix:
    print(*row)

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

— числа на побочной диагонали равны 11;
— числа, стоящие выше этой диагонали, равны 00;
— числа, стоящие ниже этой диагонали, равны 22.

Полученную матрицу выведите на экран. Числа в строке разделяйте одним пробелом.

n = int(input())
matrix = [[0]*n for _ in range(n)]

for i in range(n):
    matrix[i][n-1-i] = 1
    for j in range(n):
        if i > n- 1- j:
            matrix[i][j] = 2
        print(matrix[i][j], end = " ")
    print()

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

n, m = map(int, input().split())
matrix = []
counter = 1

for i in range(n):
    matrix.append([])
    for j in range(m):
        matrix[i].append(counter)
        counter += 1
        
        print(f'{matrix[i][j]}'.ljust(3), end='')
    print()

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

s=input().split()
n=int(s[0])
m=int(s[1])
matrix=[[0 for i in range(m)] for _ in range(n)]
count =1
for i in range(m):
    for j in range(n):
        matrix[j][i] += count
        count+=1
for i in range(n):
    print(*matrix[i])

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

n = int(input())

matrix = []
for i in range(n):
    ii = n - i - 1
    row = [1 if i == j or ii == j else 0 for j in range(n)]
    matrix.append(row)
    
for row in matrix:
    print(*row)

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

n = int(input())

for i in range(n):
    result =[]
    for j in range(n):
        if (i >= j and i >= n - 1 - j) or (i <= j and i <= n - 1 - j):
            result.append(1)
        else:
            result.append(0)
    print(*result)

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

n, m = [int(num) for num in input().split()]
matrix = [num for num in range(1, m + 1)]
for i in range(n):
    for j in range(m):
        print(matrix[j], end=' ')
    pop = matrix.pop(0)
    matrix.append(pop)
    print()

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

s=input().split()
n=int(s[0])
m=int(s[1])
matrix=[[0 for i in range(m)] for _ in range(n)]
count =1
for i in range(n):
    for j in range(m):
        matrix[i][j] += count
        count+=1
for i in range(n):
    if i%2==0:
        print(*matrix[i])
    else:
        matrix[i].reverse()
        print(*matrix[i])

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

n, m = [int(i) for i in input().split()]
mtx = [[0] * m for _ in range(n)]
sequence, k = 1, 0

while sequence != n * m + 1:
    for i in range(n):
        for j in range(m):
            if i + j == k:
                mtx[i][j] = sequence
                sequence += 1
    k += 1

for i in range(n):
    for j in range(m):
        print(str(mtx[i][j]).ljust(3), end='')
    print()

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

n, m = [int(i) for i in input().split()]
mat = [[0] * int(m) for i in range(n)]

c = 1        
a, b = 0, 0
rows = n - 1
cols = m - 1

while a <= cols and b <= rows:
    for i in range(a, cols + 1):
        mat[a][i] = c
        c += 1
    b += 1
    for i in range(b, rows + 1):
        mat[i][cols] = c
        c += 1
    cols -= 1
    if b <= rows:
        for i in range(cols, a-1, -1):
            mat[rows][i] = c
            c += 1
        rows -= 1
    if a <= cols:
        for i in range(rows, b-1, -1):
            mat[i][a] = c
            c += 1
        a += 1

for s in mat:
    print(*s)

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

4 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Ара
Ара
1 год назад

Было бы здорово читать обяснение к прописанному коду, спасибо за ваш труд.

аноним
аноним
2 лет назад

Можно объяснить последний ответ?

4
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x