Строки
Напоминание: если в задаче сказано «написать генератор», это значит «написать генератор». Например, 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(),
Д/З
(Разбор решения в полном условии задачи, но на EJudge она тоже будет)
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
- Прочитать
про строки в учебнике и в справочнике (там же про байтовые последовательности)
про форматирование строк в учебнике и в в справочнике
Посмотреть, как оформлена, и разобраться, как работает программа «рисования» фигур на текстовом экране. Дописать функции, рисующие:
- прямоугольник со сторонами, параллельными осям координат
- ломаную (из последовательности пар координат)
окружность
EJudge: MaxInt 'Поиск наибольшего числа в тексте'
Ввести текст, состоящий из нескольких строк (заканчивается пустой строкой). Каждая строка состоит из «слов» (последовательностей непробельных символов), разделённых пробелами или табуляциями. Некоторые слова — целые числа (возможно, отрицательные), другие числами не являются (хотя могут содержать цифры). Найти и вывести наибольшее из этих чисел.
enemies -565 glanduliform h252Tbeaic -tv5naa2re4 55 silicamortar eared ra50ertc-8 -4 94 ohgutyd38 163 -562 u8e8qisn handout crossword 22s4cico -v80s6eessl beaning en1A1i-2l 545 december flo ch00a0-h1t vignettist
545
EJudge: PatternFind 'Поиск простого шаблона в строке'
Ввести строку, содержащую произвольные символы (кроме символа «@»). Затем ввести строку-шаблон, которая может содержать символы @. Проверить, содержится ли в исходной строке подстрока, совпадающая со строкой-шаблоном везде, кроме символов @; на месте @ в исходной строке должен стоять ровно один произвольный символ. Вывести позицию в строке, с которой начинается эта подстрока или -1, если её там нет.
исходной строке подстрока, совпадающая со строкой ст@ок@
9
задачу на обход лабиринта я решил пока не давать и так много. Но почитайте всё-таки