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

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

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

a = ['яблоко', 'груша', "хрюша", 'ананас']
b = ['яблоко', 'груша', 'ананас']

fruit_list = [i for i in a if i in b]
print(fruit_list)


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

import random

rl = [random.randint(0, 100)for i in range(random.randint(0, 100))] #рандомный cписок
print('Old spisok: ',rl)

listing = [i for i in rl if i % 3 == 0 and i >= 0 and i % 4 != 0]
print('New spisok: ',listing)