#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)
Комментариев нет:
Отправить комментарий