Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Массив решетка Python

#python #массивы #list #arraylist


Нужна помощь в решении задачи

Заполните прямоугольный массив целыми числами по образцу (нули стоят на пересечении
строк и
столбцов с нечетными номерами, в остальных клетках стоят единицы).

Пример для n=5m=6
1 1 1 1 1 1
1 0 1 0 1 0
1 1 1 1 1 1
1 0 1 0 1 0
1 1 1 1 1 1


Все на что меня хватило

n, m = 5, 6
mtrx = [[((j+i)%2 + (i-1)%2) for j in range(m)] for i in range(n)]
for k in mtrx:
    print(*k)


Output

1 2 1 2 1 2
1 0 1 0 1 0
1 2 1 2 1 2
1 0 1 0 1 0
1 2 1 2 1 2

    


Ответы

Ответ 1



n, m = 5, 6 mtrx = [ [ 0 if j % 2 and i % 2 else 1 for j in range(m)] for i in range(n)] for k in mtrx: print(*k)

Ответ 2



Спасибо @extrn за обучение) Вариант: n, m = 5, 6 mtrx = [[(~j&1) | (~i)&1 for j in range(m)] for i in range(n)] for k in mtrx: print(*k) Еще один: n, m = 5, 6 mtrx= [[(1-j%2) | (i+1)%2 for j in range(m)] for i in range(n)] for k in mtrx: print(*k)

Комментариев нет:

Отправить комментарий