Последовательности и цикл for

Операции над объектами как совокупность методов

Цикл for

Кстати,

Последовательности

Операции над последовательностями

Константные последовательности на примере кортежа

Строка (введение)

Рассмотрим в отдельной лекции.

Списки — модифицируемые последовательности

Имеют метод .__setitem__()

Колоды:

Имитация многомерных структур данных

Соиспользование связанных объектов

Отсутствие «подковёрного» копирования

Вычислимые последовательности

Значения не хранятся, а вычисляются .__getitem__()-ом

Д/З

Напоминалка:

Собственно задание:

  1. Прочитать и прощёлкать тьюториал (и про цикл for)

  2. EJudge: CountSort 'Сортировка подсчётом'

    Вводится последовательность пар натуральных чисел, не превышающих 100, последняя строка ввода — пустая. Вывести её в лексикографически отсортированном по возрастанию виде. Дополнительные условия:

    • из составных типов данных можно пользоваться только списками и кортежами (для вывода — строками),
    • целиком последовательность в памяти хранить нельзя!
    Input:

    2, 100
    12, 4
    2, 2
    5, 8
    2, 100
    33, 33
    12, 4
    Output:

    2, 2
    2, 100
    2, 100
    5, 8
    12, 4
    12, 4
    33, 33
  3. EJudge: DiagonalDigits 'Цифры по диагонали'

    Ввести целые M и N (0 ⩽ M, N ⩽ 1000), вывести последовательность 0 1 2 3 4 5 6 7 8 9 0 1 2 3 … в виде прямоугольной матрицы N×M, заполненной из верхнего левого угла по следующему правилу:

    • На каждом шаге заполняется очередная диагональ матрицы с одинаковой суммой координат
    • Диагонали заполняются поочерёдно сверху вниз и снизу вверх (таким образом формируется непрерывный «путь» из верхнего левого угла в правый нижний)
    Input:

    6, 5
    Output:

    0 2 3 9 0 9
    1 4 8 1 8 0
    5 7 2 7 1 6
    6 3 6 2 5 7
    4 5 3 4 8 9
  4. EJudge: FindRect 'Морской бой'

    Ввести несколько строк одинаковой длины, состоящих из символов «#» и «.». Ввод заканчивается пустой строкой. На получившемся поле изображены только прямоугольники, причём они не соприкасаются даже углами. Вывести количество этих прямоугольников.

    Input:

    ###.....#.
    ###.##..#.
    ....##....
    ....##..#.
    ..........
    ..........
    ####..####
    ......####
    ......####
    Output:

    6
    (При подготовке последнего теста использовался графический редактор GIMP и формат XPM :) )
  5. EJudge: UniInterval 'Объединение отрезков'

    Вводится кортеж пар натуральных чисел. Это координаты отрезков на прямой. Рассмотрим объединение этих отрезков и найдём длину этого объединения (т. е. совокупную длину всех «закрашенных» нашими отрезками отрезков на прямой).

    Input:

    (66, 91), (152, 230), (21, 81), (323, 342), (158, 211), (286, 332), (294, 330), (18, 58), (183, 236)
    Output:

    213

LecturesCMC/PythonIntro2026/03_SequencesFor (последним исправлял пользователь FrBrGeorge 2026-09-29 22:59:39)