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

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

Последовательность — это свойство объекта (нужные методы).

Цикл for

Кстати,

Индексируемые/неиндексируемые последовательности

Имеют метод последовательность.__getitem__(что-то), что означает последовательность[что-то]

Кортеж:

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

Модифицируемые

Имеют метод .__setitem__() Список:

Деки:

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

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

Про Д/З

Почти весь ввод в Д/З делается с помощью eval(nput()):

Д/З

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

  2. EJudge: MaxSubsum 'Полоса удач'

    Ввести в столбик последовательность целых (положительных и отрицательных) чисел, не равных нулю; в конце этой последовательности стоит 0. Вывести наибольшую сумму последовательно идущих элементов этой последовательности (не менее одного).

    Input:

    2
    3
    -7
    -1
    3
    4
    5
    -2
    -4
    7
    8
    -6
    -1
    0
    Output:

    21
  3. EJudge: PackedQueue 'Чудо-конвейер'

    Ввести последовательность объектов Python (кортежей или целых чисел), и сымитировать работу Чудо-Конвейера. Если объект — кортеж, это означает, что на вход конвейеру подаются поочерёдно все объекты из этого кортежа. Если объект — натуральное число N, это означает, что с выхода конвейера надо снять поочерёдно N объектов, объединить их в кортеж и вывести. Если с конвейера нельзя снять N объектов, или в последовательности нет больше команд, Чудо-Конвейер немедленно останавливается.

    Input:

    ("QWE",1.1,234),2,(None,7),0,2,(7,7,7),2,(12,),(),3,(5,6),3,100500
    Output:

    ('QWE', 1.1)
    ()
    (234, None)
    (7, 7)
    (7, 7, 12)
  4. При подготовке последнего теста использовался графический редактор GIMP и формат XPM :)

    EJudge: FindRect 'Морской бой'

    Ввести несколько строк одинаковой длины, состоящих из символов '#' и '.'. Первый и последний символ каждой строки — '.', а первая и последняя строки состоят целиком из '-'. Известно (проверять не надо), что на получившемся поле изображены только прямоугольника, причём они не соприкасаются даже углами. Вывести количество этих прямоугольников.

    Input:

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

    6
  5. EJudge: SpiralDigits 'Цифры по спирали'

    Ввести целые M и N, вывести последовательность 0 1 2 3 4 5 6 7 8 9 0 1 2 3 … в виде спирально (по часовой стрелке, из верхнего левого угла) заполненной таблицы N×M (N строк, M столбцов). Не забываем про то, что M и N могут быть чётными, нечётными и неизвестно, какое больше.

    Input:

    6,5
    Output:

    0 1 2 3 4 5
    7 8 9 0 1 6
    6 7 8 9 2 7
    5 6 5 4 3 8
    4 3 2 1 0 9
  6. Д/З мне: на следующий раз не забыть про множество

LecturesCMC/PythonIntro2019/03_SequencesFor (last edited 2019-10-09 16:36:57 by FrBrGeorge)