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