From 52b25e57878630a9eb3eebee5786d9073647697b Mon Sep 17 00:00:00 2001 From: denvs <54867217+denvs@users.noreply.github.com> Date: Tue, 24 Sep 2019 01:34:56 +0300 Subject: [PATCH] Add files via upload --- lesson4-easy.py | 31 ++++++++++++++++++++++ lesson4-normal.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 lesson4-easy.py create mode 100644 lesson4-normal.py diff --git a/lesson4-easy.py b/lesson4-easy.py new file mode 100644 index 0000000..938625f --- /dev/null +++ b/lesson4-easy.py @@ -0,0 +1,31 @@ +# Все задачи текущего блока решите с помощью генераторов списков! + +# Задание-1: +# Дан список, заполненный произвольными целыми числами. +# Получить новый список, элементы которого будут +# квадратами элементов исходного списка +# [1, 2, 4, 0] --> [1, 4, 16, 0] + +list_a = [1, 2, 4, 0] +list_b = [i**2 for i in list_a] +print(list_b) + +# Задание-2: +# Даны два списка фруктов. +# Получить список фруктов, присутствующих в обоих исходных списках. + +fruits1 = ["яблоко", "банан", "киви"] +fruits2 = ["банан", "киви", "арбуз"] +fruits3 = list(set(fruits1) & set(fruits2)) +print(fruits3) + +# Задание-3: +# Дан список, заполненный произвольными числами. +# Получить список из элементов исходного, удовлетворяющих следующим условиям: +# + Элемент кратен 3 +# + Элемент положительный +# + Элемент не кратен 4 + +list_a = [1, 3, 2, 4, 0, 9, -6, 12] +list_b = [i for i in list_a if i % 3 == 0 and i > 0 and i % 4 != 0] +print(list_b) \ No newline at end of file diff --git a/lesson4-normal.py b/lesson4-normal.py new file mode 100644 index 0000000..a29defb --- /dev/null +++ b/lesson4-normal.py @@ -0,0 +1,65 @@ +# Эти задачи необходимо решить используя регулярные выражения! + +# Задача - 1 +# Запросите у пользователя имя, фамилию, email. Теперь необходимо совершить проверки, имя и фамилия должны иметь заглавные первые буквы. +# email - не должен иметь заглавных букв и должен быть в формате: текст в нижнем регистре, допускается нижнее подчеркивание и цифры, потом @, потом текст, допускаются цифры, точка, ru или org или com. +# Например: +# Пупкин василий - неверно указано имя, te$T@test.net - неверно указан email (спецсимвол, заглавная буква, .net), te_4_st@test.com - верно указан. + +import re + +name = input('имя: ') +surname = input('фамилия: ') +email = input('email: ') + +if not re.match('[A-ZА-Я][A-Za-zА-Яа-я]+', name): + print('неверно указано имя') + +if not re.match('[A-ZА-Я][A-Za-zА-Яа-я]+', surname): + print('неверно указана фамилия') + +if not re.match('([a-z_0-9]+@[a-z0-9]+\.ru|org|com)', email): + print('неверно указан email') + +# Задача - 2: +# Вам дан текст: + +some_str = ''' +Мороз и солнце; день чудесный! +Еще ты дремлешь, друг прелестный — +Пора, красавица, проснись: +Открой сомкнуты негой взоры +Навстречу северной Авроры, +Звездою севера явись! +Вечор, ты помнишь, вьюга злилась, +На мутном небе мгла носилась; +Луна, как бледное пятно, +Сквозь тучи мрачные желтела, +И ты печальная сидела — +А нынче... погляди в окно: +Под голубыми небесами +Великолепными коврами, +Блестя на солнце, снег лежит; +Прозрачный лес один чернеет, +И ель сквозь иней зеленеет, +И речка подо льдом блестит. +Вся комната янтарным блеском +Озарена. Веселым треском +Трещит затопленная печь. +Приятно думать у лежанки. +Но знаешь: не велеть ли в санки +Кобылку бурую запречь? +Скользя по утреннему снегу, +Друг милый, предадимся бегу +Нетерпеливого коня +И навестим поля пустые, +Леса, недавно столь густые, +И берег, милый для меня.''' + +# Необходимо с помощью регулярных выражений определить есть ли в тексте подряд +# более одной точки, при любом исходе сообщите результат пользователю! + +if re.search('\.\.', some_str): + print('в тексте есть подряд более одной точки') +else: + print('в тексте нет подряд более одной точки') \ No newline at end of file