'''
Python 3.X
В прямоугольной таблице B(5;7), значения которой заданы
генератором случайных чисел в интервале от 0 до 150, найти:
А) сумму значений элементов третьей строки.
Б) произведение элементов, значение которых меньше 10.
В) подсчитать количество элементов, значение которых больше 100.
'''
from functools import reduce # применение функции к списку
from operator import mul # операция умножения
from pprint import pprint # формат. вывод
from random import randint # случайные целые числа в промежутке
b = [[randint(0, 151) for _ in range(5)] for _ in range(7)]
print('Массив:')
pprint(b)
# Сумма элементов 3 строки
sum_3rd_row = sum(b[2])
# Произведение эл-тов < 10
rows_lt_10 = [list(filter(lambda x: x < 10, row)) for row in b]
rows_lt_10_mults = [reduce(mul, row) for row in rows_lt_10 if row]
product_lt_10 = reduce(mul, rows_lt_10_mults)
# Количество эл-тов > 100
rows_gt_100 = [list(filter(lambda x: x > 100, row)) for row in b]
rows_gt_100_lens = [len(row) for row in rows_gt_100]
count_gt_100 = sum(rows_gt_100_lens)
print('Сумма элементов 3 строки:', sum_3rd_row)
print('Произведение элементов < 10:', product_lt_10)
print('Количество элементов > 100:', count_gt_100)