Шахматную клетку можно идентифицировать несколькими
Например, сериализовать (сделать структуру данных одномерной) и пронумеровать по-порядку, получив значения от 0 до 63 и представив их в двоичной системе счисления. Для этого потребуется 6 бит, ибо 2^6 = 64.
Другой вариант, без сериализации. Мы имеем двумерную структуру данных. Это значит, что для уникальной идентификации единицы данных нам нужно совершить как минимум два независимых измерения. Будем хранить эти измерения по-отдельности: в старших и младших битах.
Значение каждого измерения находится в диапазоне от 0 до 7. Для его кодирования достаточно 3 бит. 2^3 = 8. Мы имеем два измерения, поэтому для записи двух измерений последовательно нам потребуется 6 бит.
Оба подхода дают одинаковый по объёму результат. выбор между ними зависит от замой задачи: какой из двух представлений удобнее использовать при решении, как проще обращаться к элементам структуры, как последовательности или как к элементам на плоскости.
ответ: 6 бит.
from random import randint
# заполняем массив случайными числами
arr = [randint(-10,10) for i in range(20)]
print(arr)
# задание 1
print(f'Сумма элементов первой половины массива {arr[0:10]} равна {sum(arr[0:10])}')
print(f'Сумма элементов второй половины массива {arr[10:20]} равна {sum(arr[10:20])}')
# задание 2
k=1
for i in arr:
if i!=0:
k*=i
print(f'Произведение ненулевых элементов массива равно {k}')
# задание 3
k=0
for i in arr:
if i<0:
k+=1
print(f'Количество отрицательных элементов массива равно {k}')