2545
Комментарий:
|
2704
|
Удаления помечены так. | Добавления помечены так. |
Строка 19: | Строка 19: |
Строка 50: | Строка 51: |
* ('''Разбор решения в полном условии задачи''')<<EJCMC(86, YieldFrom, Суперпозиция генераторов)>> |
Строки
Напоминание: если в задаче сказано «написать генератор», это значит «написать генератор». Например, LookSay
Повторение: списки
- Индексируемая последовательность
for
.__getitem__(), оно же [,
- распаковка везде,
- лексикографическое сравнение,
in
- сложение/умножение
- цилклический генератор
- модифицируемость
- Динамический массив
- вставка, удаление, индексирование
- стек
- моделирование многомерных массивов с помощью списков
Строки
- Задание строк
Спецсимволы, модификатор r
Строки как последовательности
- индексирование, секционирование, сложение, умножение, итерация, распаковка
- особенности:
a[5] === a[5:6] (так ли это? )
- "asd" in "qwasdgfh"
Строковые методы
endswith(), startswith(),
find(), index(), count(),
isalnum(), isalpha(), isdecimal(), isdigit(), isidentifier(), islower(), isnumeric(), isprintable(), isspace(), istitle(), isupper(),
center(), rjust(), ljust(),
lower(), upper(), swapcase(), title(), capitalize(), casefold(),
replace(),
strip(), expandtabs(),
zfill(),
rfind(), rindex(), rpartition(), rsplit(), rstrip(), lstrip(),
split() и join()
split(), splitlines(), join(),
Форматиро вание строк
format() (+ format_map(), но там словари)
Байтовые строки
bytes/bytearray,
- кодировки и кодирование/декодирование
encode(),
Разбор задачи
Д/3
(Разбор решения в полном условии задачи)
EJudge: YieldFrom 'Суперпозиция генераторов'
Ввести последовательность четвёрок целых чисел вида (s, d, m, n), (…), …. Для каждой четвёрки составить целочисленную последовательность {ai}: a0=s, ai+1=ai/d+m, если ai делится на d и ai+1=ai+n в противном случае. Последовательность заканчивается на i-м элементе, если i+1-й будет ему равен, в противном случае (цикл из нескольких значений или неограниченный рост) последовательность считается бесконечной. Если последовательность, полученная из очередной четвёрки, заканчивается, начинается последовательность, полученная из следующей четвёрки. Ввести k и вывести k-й член этой общей последовательности или "NO", если в ней меньше k элементов. См. далее разбор решения.
(4,2,5,3),(3,5,8,1),(5,3,8,2),(3,4,2,6) 30
13
TODO
Прочитать
- про строки
- про форматирование
поиск примитивного шаблона в строке (не обязательно эффективный, без *)
- ?
поиск наибольшего числа в тексте
- обход лабиринта