Искать
Вы превысили запрос на
0 знаков

36. Циклы for/else и while/else в Python

Не пройден
0
0
свернуть практику
2 задания

Кратко

- В предыдущем уроке разобрались с операторами break и continue, а также с циклами while и for.

- Настало время объединить знания и изучить конструкции for/else и while/else.

- Это те же самые циклы for и while, в которые опционально добавлен блок else.

- Блок else в конструкции for/else будет выполнен, если цикл полностью завершил итерацию, но не будет выполнен, если цикл прерван оператором break.

- В определенных типах задач конструкции for/else и while/else могут пригодиться.

- Конструкция while/else аналогична рассмотренной инструкции for/else.

- В Python нет ненужных конструкций, просто некоторые подходят только для определенного класса задач.

В предыдущем уроке вы разобрались с операторами break и continue. Еще ранее познакомились с циклами while и for. Настало время объединить знания и изучить конструкции for/else и while/else.

Вообще, это те же самые циклы for и while, в которые, опционально, добавлен блок else:

Пример (python)
for i in range(5):
    print(i)
else:
    print('Things are good') 

Казалось бы, чем этот код по функционалу отличается от этого:

Пример (python)
for i in range(5):
    print(i)
print('Things are good') 

В данном случае – ничем. В прошлом уроке мы обогатили знания новым оператором break. Давайте применим его. Но для начала выполните задание, чтобы вспомнить предыдущий материал.

Задание #1

Внимание! Практика по Python находится на стадии тестирования, поэтому может что-то не работать. Если у вас возникли проблемы или вы нашли баг, пишите в Телеграм. Там же можно обсудить курс по Python. Читайте новости проекта Codebra на моем канале @codebra_official.

  1. Напишите программу, которая должна получать с клавиатуры числа (с пломощью функции input()) до тех пор, пока сумма меньше 10, либо до ввода пользователем числа 3.

    Пример 1:

    Пример (none)
    2
    3 

    Пример (none)
    5 

    Пример 2:

    Пример (none)
    30 

    Пример (none)
    30 

    Пример 3:

    Пример (none)
    1
    1
    1
    2
    2
    2
    2 

    Пример (none)
    11 

    Редактор code_1.py
    Результат code_1.out

    Вернемся к теории. Например, если переменная i равна трем, то мы прерываем цикл:

    Пример (python)
    for i in range(5):
        print(i)
        if i == 3:
            break
    else:
        print('Things are good')  

    Здесь изображение или скриншот.
    Для доступа необходимо авторизоваться на сайте Codebra.

    Теперь вы увидите разницу между предыдущим кодом и этим:

    Пример (python)
    for i in range(5):
        print(i)
        if i == 3:
            break
    print('Things are good')  

    Задание #2

    Внимание! Практика по Python находится на стадии тестирования, поэтому может что-то не работать. Если у вас возникли проблемы или вы нашли баг, пишите в Телеграм. Там же можно обсудить курс по Python. Читайте новости проекта Codebra на моем канале @codebra_official.

    1. Исправьте предыдущую программу таким образом, чтобы результат выводился только если сумма чисел больше 10.

      Пример 1:

      Пример (none)
      2
      3 

      Пример (none)
       

      Пример 2:

      Пример (none)
      30 

      Пример (none)
      30 

      Пример 3:

      Пример (none)
      1
      1
      1
      2
      2
      2
      2 

      Пример (none)
      11 

      Редактор code_2.py
      Результат code_2.out

      То есть блок else в конструкции for/else будет выполнен, если цикл полностью завершил итерацию, но не будет выполнен, если цикл прерван оператором break. В определенных типах задач эта конструкция может пригодиться.

      Конструкция while/else аналогична рассмотренной инструкции for/else.

      В этом уроке еще раз рассмотрели инструкции while/else и for/else. Так же убедились, что в Python нет ненужных конструкций, просто некоторые подходят только для определенного класса задач. В следующем уроке научимся обрабатывать исключения с помощью инструкции try/except.

      Тест

      Две секундочки...

      Похожие уроки Codebra

      @codebra_official
      Подписывайся на наш Telegram-канал!
      Новости, полезный материал,
      программирование и ИБ
      Обработка исключений (try/except) в PythonЗнакомство с Python
      Операторы break, continue и pass в PythonЗнакомство с Python
      Итоги раздела «Снова циклы и немного исключений»Знакомство с Python
      Генераторы и оператор yield в PythonЗнакомство с Python
      Операторы switch и match в PHPКурс по PHP
      Введение в раздел «Структуры данных в Python»Знакомство с Python
      Итоги раздела «Самые основы Python»Знакомство с Python
      Цикл while в PythonЗнакомство с Python
      Условная инструкция if-elif-else в PythonЗнакомство с Python
      Впервые на сайте Codebra?

      Извините за это всплывающее окно, меня они тоже раздражают.

      Если вас интересует компьютерная безопасность, реверс-инжиниринг и анализ бинарных файлов, то посмотрите вторую часть сайта Codebra: CodeSecure

      Закрыть окно