Лекция №2. Итерационные методы

Хорошевич Павел Александрович

Ветвление и циклы в Python

Ветвление

Логический тип в Python - bool. Два возможных значения - True (истина) или False (ложь).

Логические операторы по приоритету:

  1. Операторы сравнения: <, >, <=, >=, == (равно), != (не равно).
  2. Логическое НЕ: not
  3. Логическое И: and
  4. Логическое ИЛИ: or

Полная форма инструкции ветвления:

if <логическое выражение>:
    # если логическое выражение == True
    <блок инструкций 1>        
else:
    # если логическое выражение == False
    <блок инструкций 2>

В сокращённой форме ветвления нет блока else.

Оформление блока инструкций

В Python вложенность инструкций определяется отступами. Блок инструкций начинается после двоеточия :

  • Блок связанных инструкций должен иметь одинаковый отступ.
  • Размер отступа может быть произвольным (рекомендовано 4 пробела).
  • Для создания отступов можно использовать пробелы или табуляцию.
  • Нельзя смешивать пробелы и символы табуляции при оформлении одного блока.

Дополнительная информация по оформлению кода - PEP8

Множественное ветвление

x = 1.6
y = 3.1
if x < y:
    print("x меньше y")
else:
    if x > y:
        print("x больше y")
    else:
        print("x равно y")
x = 1.6
y = 3.1
if x < y:
    print("x меньше y")
elif x > y:
    print("x больше y")
else:
    print("x равно y")

С помощью elif записывается множественное каскадное ветвление.

Цикл с предусловием

while <логическое выражение>:
    <инструкция 1>
    <инструкция 2>
    ...
    <инструкция N>

Пример:

age = int(input("Введите ваш возраст: "))
while age <= 0:
    print("Возраст должен быть больше 0")
    age = int(input("Введите ваш возраст: "))

print(age)

Инструкции break и continue

Инструкция break прерывает работу цикла и передаёт управление инструкциям после цикла.

break

break

Инструкция continue останавливает текущий шаг цикла и переходит к выполнению следующего.

continue

continue

Цикл с параметром

Цикл for используется для перебора элементов последовательности.

for <элемент> in <последовательность>:
    <блок инструкций>

Последовательность целых чисел создаётся функцией range().

range(<конец>) # от 0 до <конец> - 1
range(<начало>, <конец>) # от <начало> до <конец>-1
range(<начало>, <конец>, <шаг>) # от <начало> до <конец>-1 с шагом <шаг>

Пример:

for i in range(1, 11):
    sq = i ** 2
    print(i, sq)

range() с одним параметром

range() с одним параметром

range() с двумя параметрами

range() с двумя параметрами

range() с тремя параметрами

range() с тремя параметрами

range() c отрицательным шагом

range() c отрицательным шагом

Вопрос? Вопрос. Вопрос!

  1. Как называется один шаг цикла?
  2. С помощью какой функции создаётся последовательность чисел для их перебора циклом for?
  3. С помощью какой инструкции можно прервать выполнение цикла?
  4. С помощью какой инструкции можно пропустить итерацию цикла?

Какие последовательности чисел получатся:

  • range(5)

  • range(2, 8)

  • range(5, 10, 2)

  • range(10, 1, -2)

  • range(8, 1)