#!/usr/bin/env python3
# Все задачи текущего блока решите с помощью генераторов списков!

# Задание-1:
# Дан список, заполненный произвольными целыми числами.
# Получить новый список, элементы которого будут
# квадратами элементов исходного списка
# [1, 2, 4, 0] --> [1, 4, 16, 0]

print('\nЗадание 1\n')

in_list = [1, 2, 4, 3, 2, 5]
out_list = [i*i for i in in_list]

print(in_list, out_list, sep='\n')

# Задание-2:
# Даны два списка фруктов.
# Получить список фруктов, присутствующих в обоих исходных списках.

print('\nЗадание 2\n')

fruits_1 = ['яблоко', 'груша', 'банан', 'манго', 'киви']
fruits_2 = ['апельсин', 'груша', 'манго', 'киви', 'ананас']

result = [fruit for fruit in fruits_1 if fruit in fruits_2]

print(fruits_1, fruits_2, result, sep='\n')

# Задание-3:
# Дан список, заполненный произвольными числами.
# Получить список из элементов исходного, удовлетворяющих следующим условиям:
# + Элемент кратен 3
# + Элемент положительный
# + Элемент не кратен 4

print('\nЗадание 3\n')

in_list = [i for i in range(-20, 20)]
out_list = [i for i in in_list if i >= 0 and not i % 3 and i % 4]

print(in_list, out_list, sep='\n')
