

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}')
ответ: FIRSTTHINGSFIRST
Примечание: "шаг X" означает таблицу на рисунке, которая совпадает с номером X.
1. Рисуем квадрат 4x4 и заполняем известными значениями (шаг 1).
2. Видим, что в диагонали отсутствует одно число. Но мы знаем, что сумма чисел в диагонали магического квадрата равна константе, которая вычисляется по формуле:

Подставляем в формулу известные значения:

Теперь вычитаем известные значения в диагонали: 34 - 13 - 11 - 4 = 6.
Подставляем в пустую клетку это значение (шаг 2).
3. Так же есть свойство магического квадрата 4x4: квадраты 2x2 на углах квадрата 4x4 тоже "равны" константе. Нам известен левый нижний угол. Если сложить все числа, получится 34. В правом верхнем квадрате нам не известно одно число. Вычитаем известные значения из константы: 34 -2 -13 - 11 = 8. Подставляем в пустую клетку значение 8 (шаг 3).
4. Шаг 4.
В условии сказано, что это нормальный магический квадрат, то есть в нем должны быть числа от 1 до 16. Выпишем справа числа, которых еще нет в магическом квадрате. Также над каждой колонкой и рядом с каждой строкой запишем количество, которого не хватает до 34-х.
Видим две колонки, которым не хватает 21-го. 21 из имеющихся чисел можно получить добавив либо 16 + 5, либо 14 + 7. Записываем о одну колонку 16 и 5, а в другую 14 и 7. Как мы видим, по столбцам все правильно, так как над ними написан 0. А вот по строкам не сходится. К первой строке и ко второй надо добавить те числа, которые у нас есть в наборе, но вот 5 и 8 уже есть в квадрате, значит что-то мы сделали неправильно (шаг 5).
5. Тогда попробуем поменять местами в 3-ей колонке 14 и 7 (шаг 6). Теперь мы видим, что можем поставить в каждую строку недостающее значение из оставшихся чисел (шаг 7). Получился магический квадрат для расшифровки.
6. Подставляем оставшиеся числа из списка. И проверяем, расшифровывая сообщение. После расшифровки получится фраза FIRSTTHINGSFIRST. Эта фраза осмысленная, потому что если добавить пробелы, получится выражение FIRST THINGS FIRST.