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

Долг за прошлую лекцию: ленивые вычисления AND и OR

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

Цикл for

Кстати,

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

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

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

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

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

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

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

Колоды:

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

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

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

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

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

Д/З

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

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

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

  2. EJudge: HiddenSeq 'Скрытая последовательность'

    Ввести построчно две последовательности целых чисел через запятую — P и Q. К последовательности P многократно в случайном порядке применили две операции — добавление в произвольное место числа ∉ исходному P и удаление числа из произвольного места. Проверить, что P всё ещё целиком содержится в Q, причём расстояние между элементами P в Q равное.

    Input:

    1, 0, 3, 3
    9, 1, 19, 17, 0, 17, 17, 3, 9, 16, 3, 16, 10, 15, 11, 13
    Output:

    YES
  3. EJudge: TwoDecks 'Тасуем карты'

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

    • Условие: пользоваться внешними процедурами сортировки (например, функцией sorted() или методом .sort()) в этой задаче запрещено.

    Input:

    5, 5, 5, 4, 2, 9, 0, 10, 15, 0
    Output:

    0 0 2 4 5 5 5 9 10 15
  4. EJudge: TransposeTriangle 'Транспонирование треугольника'

    Вводятся последовательности из 1, 2, 3, …, N чисел из диапазона 0…9 через запятую (конец ввода — пустая строка). Ввод оформлен в виде треугольника со стороной N. Повернуть треугольник на 60 градусов против часовой стрелки: вывести эту же последовательность, используя в качестве основания левую сторону. Для красоты можно декорировать начало строки пробелами (это не обязательно; а вот «» между числами обязательно).

    Input:

       1
      5, 8
     9, 2, 3
    7, 1, 3, 6
    Output:

       6
      3, 3
     8, 2, 1
    1, 5, 9, 7
  5. EJudge: FourSquares 'Четыре квадрата'

    Известно, что любое натуральное число можно представить в виде суммы не более чем четырех квадратов неотрицательных целых чисел (теорема Лагранжа). Ввести натуральное N⩽100000 и найти для него такие целые неотрицательные x,y,z и t, чтобы x²+y²+z²+t²=N. Вывести все такие четвёрки в следующем формате: x,y,z и t — через пробел, и упорядочены по убыванию, а сами четвёрки — лексикографически по возрастанию (без повторений).

    Input:

    100
    Output:

    5 5 5 5
    7 5 5 1
    7 7 1 1
    8 4 4 2
    8 6 0 0
    9 3 3 1
    10 0 0 0

LecturesCMC/PythonIntro2025/03_SequencesFor (последним исправлял пользователь FrBrGeorge 2025-09-22 12:05:02)