⇤ ← Версия 1 от 2012-02-08 13:14:55
1576
Комментарий:
|
3802
|
Удаления помечены так. | Добавления помечены так. |
Строка 19: | Строка 19: |
1. Второе | 1. ([[http://informatics.mccme.ru/moodle/mod/statements/view.php?id=3163|MCCME]]) Напишите программу, которая посчитает количество смайликов в заданном тексте. Смайликом будем считать последовательность символов, удовлетворяющую условиям: * первым символом является либо ; (точка с запятой) либо : (двоеточие) ровно один раз * далее может идти символ – (минус) сколько угодно раз (в том числе символ минус может идти ноль раз) * в конце обязательно идет некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ]. * внутри смайлика не может встречаться никаких других символов. Например, нижеприведенные последовательности являются смайликами: {{{ :) ;---------[[[[[[[[ }}} в то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики): {{{ :-)] ;-- -) ::-( :-() }}} ''Формат входных данных'': Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов. ''Формат выходных данных'': Выведите одно число — количество смайликов, которые встречаются в тексте. ''Примеры'' || Входные данные || Выходные данные || || `:);------[[[[[]` || 2 || || `:-)];----;` || 1 || || `-)(---:---` || 0 || || `hello :-)` || 1 || |
Регулярные выражения
- Что такое шаблоны. Сопоставление строки шаблону. Шаблоны генерации файлов и их недостатки.
Синтаксис базового регулярного выражения. Необработанные строки r"…" Python.
Модуль re: методы split() и findall()
Модуль re: карманы для подстановки, метод sub()
search(), match() и возможности Match Object
Использование re.compile()
Понятие о стилях RE.
Регулярные выражения в Linux: grep, sed, vim, MRE (поиск по Яндексу делает чудеса )
Домашнее задание
Первое
(MCCME) Напишите программу, которая посчитает количество смайликов в заданном тексте. Смайликом будем считать последовательность символов, удовлетворяющую условиям:
- первым символом является либо ; (точка с запятой) либо : (двоеточие) ровно один раз
- далее может идти символ – (минус) сколько угодно раз (в том числе символ минус может идти ноль раз)
- в конце обязательно идет некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ].
- внутри смайлика не может встречаться никаких других символов.
- Например, нижеприведенные последовательности являются смайликами:
:) ;---------[[[[[[[[
в то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики)::-)] ;-- -) ::-( :-()
Формат входных данных:
- Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов.
Формат выходных данных:
Выведите одно число — количество смайликов, которые встречаются в тексте. Примеры
Входные данные
Выходные данные
:);------[[[[[]
2
:-)];----;
1
-)(---:---
0
hello :-)
1
Условные обозначения
— тема по Linux
— необязательная тема
— теоретическое задание
— тема для самостоятельного изучения