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

a = [1, 2, 4, 6, 0, 8]
b = [i ** 2 for i in a]
print(b)

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

fruit_1 = ["apple", "limon", "mango", "cherry"]
fruit_2 = ["cherry", "apple", "pear"]
my_list = [i for i in fruit_1 if i in fruit_2]
print(my_list)

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

a = [5, 6, 8, 0, 85, -10, -8, 16, 27, 81]
b = [i for i in a if not i % 3 and i > 0 and i % 4]
print(b)
# Эти задачи необходимо решить используя регулярные выражения!
import re
# Задача - 1
# Запросите у пользователя имя, фамилию, email. Теперь необходимо совершить проверки, имя и фамилия должны иметь
# заглавные первые буквы.  email - не должен иметь заглавных букв и должен быть в формате: текст в нижнем
# регистре, допускается нижнее подчеркивание и цифры, потом @, потом текст, допускаются цифры, точка, ru или org или com.
# Например:  Пупкин василий - неверно указано имя, te$T@test.net - неверно указан email (спецсимвол, заглавная
# буква, .net), te_4_st@test.com - верно указан.

name = input('Введите имя с заглавной буквы:  ')
surname = input('Введите фамилию с заглавной буквы: ')
email = input('Введите email: ')

name_error = re.search('^[А-ЯЁ0-15]{1}', name) is not None
surname_error = re.search('^[A-ZА-ЯЁ]{1}', surname)is not None
email_error = re.match('([a-zA-Z_0-10]+@[a-z]+\.[ru,com,org]{2,5})', email)is not None

print('Спасибо, всё верно!' if name_error and surname_error and email_error else 'Данные введены неккоректно!')
print('Неправильно введено имя' if name_error == False else '')
print('Неправильно введена фамилия' if surname_error == False else '')
print('Неправильно введен email' if email_error == False else '')

some_str = '''
Мороз и солнце; день чудесный!
Еще ты дремлешь, друг прелестный —
Пора, красавица, проснись:
Открой сомкнуты негой взоры
Навстречу северной Авроры,
Звездою севера явись!
Вечор, ты помнишь, вьюга злилась,
На мутном небе мгла носилась;
Луна, как бледное пятно,
Сквозь тучи мрачные желтела,
И ты печальная сидела —
А нынче... погляди в окно:
Под голубыми небесами
Великолепными коврами,
Блестя на солнце, снег лежит;
Прозрачный лес один чернеет,
И ель сквозь иней зеленеет,
И речка подо льдом блестит.
Вся комната янтарным блеском
Озарена. Веселым треском
Трещит затопленная печь.
Приятно думать у лежанки.
Но знаешь: не велеть ли в санки
Кобылку бурую запречь?
Скользя по утреннему снегу,
Друг милый, предадимся бегу
Нетерпеливого коня
И навестим поля пустые,
Леса, недавно столь густые,
И берег, милый для меня.'''
# Необходимо с помощью регулярных выражений определить есть ли в тексте подряд
# более одной точки, при любом исходе сообщите результат пользователю!

print('Есть многоточие в тексте' if  re.search(r'\.{2,}', some_str) else 'Нет многоточия в тексте')



