import random

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

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

print('\n Задание №1')
exist_list = [random.randint(10, 20) for i in range(100)]
print(exist_list)

new_list = [i**2 for i in exist_list]
print(new_list)

# Задание-2:
# Даны два списка фруктов.
# Получить список фруктов, присутствующих в обоих исходных списках.
print('\n Задание №2')
fruit_list1 = ['яблоко', 'ананас', 'персик', 'айва', 'кокос', 'виноград', 'вишня']
fruit_list2 = ['вишня', 'ананас', 'инжир', 'дыня', 'арбуз', 'виноград']

common_fruits = [i for i in fruit_list1 if any(i in el for el in fruit_list2)]
print(common_fruits)

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

print('\n Задание №3')
rand_num_list = [random.randint(-100,100) for i in range(15)]
print(rand_num_list)

sort_list = [i for i in rand_num_list if ((i % 3 == 0) and (i > 0) and (i % 4 != 0))]
print(sort_list)
