Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions lesson4-easy.py
Original file line number Diff line number Diff line change
@@ -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)
65 changes: 65 additions & 0 deletions lesson4-normal.py
Original file line number Diff line number Diff line change
@@ -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('в тексте нет подряд более одной точки')