# 5. Реализовать формирование списка, используя функцию range() и возможности генератора.
# В список должны войти четные числа от 100 до 1000 (включая границы).
# Необходимо получить результат вычисления произведения всех элементов списка.
# Подсказка: использовать функцию reduce().
from functools import reduce


def multiply_func(num_1, num_2):
    return num_1 * num_2


print(f'Мой список четных чисел от 100 до 1000: {[el for el in range(100, 1001) if el % 2 == 0]}')
print(f'Произведение этих чисел {reduce(multiply_func, [el for el in range(100, 1001) if el % 2 == 0])}')

269e1cd07be3a1855025f0f2396be4a451aef888
<mask token>

<mask token>


def multiply_func(num_1, num_2):
    return num_1 * num_2


<mask token>

<mask token>


def multiply_func(num_1, num_2):
    return num_1 * num_2


print(
    f'Мой список четных чисел от 100 до 1000: {[el for el in range(100, 1001) if el % 2 == 0]}'
    )
print(
    f'Произведение этих чисел {reduce(multiply_func, [el for el in range(100, 1001) if el % 2 == 0])}'
    )

from functools import reduce


def multiply_func(num_1, num_2):
    return num_1 * num_2


print(
    f'Мой список четных чисел от 100 до 1000: {[el for el in range(100, 1001) if el % 2 == 0]}'
    )
print(
    f'Произведение этих чисел {reduce(multiply_func, [el for el in range(100, 1001) if el % 2 == 0])}'
    )

# 5. Реализовать формирование списка, используя функцию range() и возможности генератора.
# В список должны войти четные числа от 100 до 1000 (включая границы).
# Необходимо получить результат вычисления произведения всех элементов списка.
# Подсказка: использовать функцию reduce().
from functools import reduce


def multiply_func(num_1, num_2):
    return num_1 * num_2


print(f'Мой список четных чисел от 100 до 1000: {[el for el in range(100, 1001) if el % 2 == 0]}')
print(f'Произведение этих чисел {reduce(multiply_func, [el for el in range(100, 1001) if el % 2 == 0])}')
