Различия между версиями 1 и 2
Версия 1 от 2012-02-08 13:14:55
Размер: 1576
Редактор: FrBrGeorge
Комментарий:
Версия 2 от 2012-02-08 14:15:16
Размер: 3802
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 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()

  • {o} <!> Понятие о стилях RE.

  • {o} Регулярные выражения в Linux: grep, sed, vim, MRE (поиск по Яндексу делает чудеса :) )

Домашнее задание

  1. {i} Первое

  2. (MCCME) Напишите программу, которая посчитает количество смайликов в заданном тексте. Смайликом будем считать последовательность символов, удовлетворяющую условиям:

    • первым символом является либо ; (точка с запятой) либо : (двоеточие) ровно один раз
    • далее может идти символ – (минус) сколько угодно раз (в том числе символ минус может идти ноль раз)
    • в конце обязательно идет некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ].
    • внутри смайлика не может встречаться никаких других символов.
    • Например, нижеприведенные последовательности являются смайликами:
      :)
      ;---------[[[[[[[[
      в то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики):
      :-)]
      ;--
      -)
      ::-(
      :-()

      Формат входных данных:

      • Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов.

      Формат выходных данных:

      • Выведите одно число — количество смайликов, которые встречаются в тексте. Примеры

      Входные данные

      Выходные данные

      :);------[[[[[]

      2

      :-)];----;

      1

      -)(---:---

      0

      hello :-)

      1

Условные обозначения

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/2012-02-08 (последним исправлял пользователь FrBrGeorge 2012-02-15 12:21:42)