'''Оператор прерывания цикла break
Иногда бывает нужно прервать выполнение цикла преждевременно. Оператор break прерывает ближайший цикл for или while.

Усовершенствуем программу, проверяющую число на простоту с помощью оператора break:

Напишем программу, определяющую, что число является простым:'''
# num = int(input())
# flag = True
#
# for i in range(2, num):
#     if num % i == 0:  # если исходное число делится на какое-либо отличное от 1 и самого себя
#         flag = False
#         break  # останавливаем цикл если встретили делитель числа
#
# if flag:
#     print('Число простое')
# else:
#     print('Число составное')
'''Как только мы встречаем делитель отличный от 1 и num, мы меняем значение сигнальной метки и прерываем цикл, поскольку
 дальнейшее его выполнение лишено смысла: число гарантированно не является простым.

    Оператор прерывания цикла break позволяет ускорять программы, так как мы избавляемся от лишних итераций.'''
'''Напишем программу, использующую цикл for, которая считывает 10 чисел и суммирует их до тех пор, пока не обнаружит 
отрицательное число. В этом случае выполнение цикла прерывается командой break:'''
# result = 0
# for i in range(10):
#     num = int(input())
#     if num < 0:
#         break
#     result += num
# print(result)
'''Оператор прерывания цикла break удобен в связке с сигнальными метками: когда после проверки некоторого условия нам 
нет смысла продолжать выполнение цикла.

Напишем, программу, которая определяет, содержит ли введенное пользователем число, цифру 7.'''
# n = int(input())
# flag = False
# while n != 0:
#     last_digit = n % 10
#     if last_digit == 7:
#         flag = True
#         break        # прерываем цикл, так как число гарантированно содержит цифру 7
#     n //= 10
#
# if flag:
#     print('Число', n, 'содержит цифру 7')
# else:
#     print('Число', n, 'не содержит цифру 7')
'''Как только мы встретили цифру 7, мы меняем значение сигнальной метки и прерываем цикл с помощью оператора break.
 Мы можем и не прерывать цикл преждевременно, а дождаться его естественного завершения (условие n != 0, то есть все 
 цифры числа обработанны), однако в таком случае мы будем совершать лишнюю работу, и в случае если число очень большое,
  то программа будет работать медленнее.'''
'''Бесконечный цикл продолжает повторяться до тех пор, пока программа не будет прервана. Изучив оператор break, мы получили механизм прерывания бесконечных циклов.

Возможно, вам может показатся, что бесконечные циклы лишены смысла, однако это не совсем так. Например, вы можете написать программу, которая запускается и работает, постоянно принимая запросы на обслуживание. Программный код такой программы может выглядеть так:

while True:
    query = get_new_query() #  получаем новый запрос на обработку
    query.process()         #  обрабатываем запрос'''

'''Иногда с помощью бесконечного цикла удается сделать программный код более читабельным. Более простым может быть завершение цикла на основе условий внутри тела цикла, а не на основе условий в его заголовке:

while True:
    if условие 1:  # условие для остановки цикла
        break
    ...
    if условие 2:  # еще одно условие для остановки цикла
        break
    ...
    if условие 3:  # еще одно условие для остановки цикла
        break
В подобных случаях, когда существует множество причин завершения цикла, часто их проще выделить из нескольких разных 
мест, чем пытаться указать все условия завершения в заголовке цикла.

Важно: бесконечные циклы могут быть очень полезными. Просто помните, что вы должны убедиться, что цикл в какой-то 
момент будет прерван, чтобы он действительно не становился бесконечным.'''
'''Оператор continue
Другая стандартная идиома циклов — пропуск отдельных элементов при переборе. Оператор continue позволяет перейти к 
следующей итерации цикла for или while до завершения всех команд в теле цикла.

Напишем программу, которая выводит все числа от 1 до 100, кроме чисел 7, 17, 29 и 78.'''
# for i in range(1, 101):
#     if i == 7 or i == 17 or i == 29 or i == 78:
#         continue  # переходим на следующую итерацию
#     print(i)
'''Примечание 1. Оператор break прерывает выполнение ближайшего цикла, а не программы, то есть далее будет выполнена 
команда, следующая сразу за циклом.'''
# for i in range(10):
#     print(i, end='*')
#     if i > 6:
#         break
# i = 100
# while i > 0:
#     if i == 40:
#         break
#     print(i, end='*')
#     i -= 20
# n = 10
# while n > 0:
#     n -= 1
#     if n == 2:
#         continue
#     print(n, end='*')
# result = 0
# for i in range(10):
#     if i % 2 == 0:
#         continue
#     result += i
# print(result)
# mult = 1
# for i in range(1, 11):
#    if i % 2 == 0:
#       continue
#    if i % 9 == 0:
#       break
#    mult *= i
# print(mult)
'''Наименьший делитель
На вход программе подается число n>1. Напишите программу, которая выводит его наименьший отличный от 1 делитель.

Формат входных данных
На вход программе подается одно натуральное число nn.

Формат выходных данных
Программа должна вывести наименьший делитель отличный от 11.

Примечание. Используйте оператор break при обнаружении делителя.'''
# n = int(input())
# for i in range(n):
#     i += 1
#     if n % i == 0 and i > 1:
#         print(i)
#         break
'''На вход программе подается натуральное число nn. Напишите программу, которая выводит числа от 1 до n включительно
 за исключением:

чисел от 5 до 9 включительно;
чисел от 17 до 37 включительно;
чисел от 78 до 87 включительно.
Формат входных данных
На вход программе подается одно натуральное число nn.

Формат выходных данных
Программа должна вывести числа в соответствии с условием задачи, каждое на отдельной строке.

Примечание. Используйте оператор continue .'''
# n = int(input())
# for i in range(1, n+1):
#     if (4 < i <10) or (16 < i <= 37) or (77 < i <= 87):
#         continue  # переходим на следующую итерацию
#     print(i)
'''Блок else в циклах
Python допускает необязательный блок else в конце циклов while и for. Это уникальная особенность Python, не 
встречающаяся в большинстве других языков программирования. Синтаксис такой конструкции следующий:

while условие:
    блок кода1
else:
    блок кода2
# или
for i in range(10):
    блок кода1
else:
    блок кода2'''
'''Если слово else отсутствует в описании цикла, то блок кода2 будет выполняться после завершения цикла, несмотря ни
 на что. Если же слово else присутствует, то блок кода2 будет выполняться только в том случае, если цикл завершается 
 штатным образом. Под штатным завершением цикла, подразумевается его завершение без использования оператора прерывания
  break.
Рассмотрим следующий программный код:'''

# n = 5
# while n > 0:
#     n -= 1
#     print(n)
# else:
#     print('Цикл завершен.')
'''
4
3
2
1
0
Цикл завершен.'''

# n = 5
# while n > 0:
#     n -= 1
#     print(n)
#     if n == 2:
#         break
# else:
#     print('Цикл завершен.')
'''Этот цикл преждевременно завершается с помощью оператора прерывания break, поэтому блок кода в инструкции else 
не будет выполнен. Результатом выполнения такой программы будут строки:'''
# n = int(input())
# flag = False
# while n != 0:
#     last = n % 10
#     if last == 7:
#         flag = True
#         break        # прерываем цикл, так как число гарантированно содержит цифру 7
#     n //= 10
#
# if flag is True:
#     print('Число', n, 'содержит цифру 7')
# else:
#     print('Число', n, 'не содержит цифру 7')

# n = int(input())
# while n != 0:
#     last = n % 10
#     if last == 7:
#         print('Число', n, 'содержит цифру 7')
#         break
#     n //= 10
# else:
#     print('Число', n, 'не содержит цифру 7')

'''Примечания
Примечание 1. Оператор continue не влияет на выполнение блока else в циклах.

Примечание 2. Блок else в циклах часто применяется для обработки отсутствия элементов.

Примечание 3. Блок кода else в циклах встречается не так часто на практике. Однако если вы обнаружите ситуацию, в 
которой применение else оправдано, то не стесняйтесь его использовать. Это может добавить ясности вашему коду!'''
# n = 0
# while n < 10:
#     n += 2
#     print(n)
# else:
#     print('Цикл завершен.')
# n = 0
# while n < 10:
#     n += 2
#     if n == 8:
#         break
#     print(n)
# else:
#     print('Цикл завершен.')
n = 0
while n < 10:
    n += 2
    if n == 7:
        break
    print(n)
else:
    print('Цикл завершен.')