Что покажет приведенный ниже фрагмент кода for i in range 10 print i end if i 6 break
Цикл for в Python используется для повторения оператора или части программы несколько раз. Он часто используется для обхода структур данных, таких как список, кортеж или словарь.
Синтаксис цикла for в Python приведен ниже.
Блок-схема цикла for

Цикл for, использующийся в последовательности
Пример-1: Итерация строки с использованием цикла for.
Пример-2: Программа для печати таблицы с заданным числом.
Пример-3: Программа для печати суммы данного списка.
Цикл for с использованием функции range()
Функция range() используется для генерации последовательности чисел. Если мы передадим диапазон(10), он будет генерировать числа от 0 до 9. Синтаксис функции range() приведен ниже.
- Начало представляет собой начало итерации.
- Остановка означает, что цикл будет повторяться до остановки-1. Диапазон(1,5) будет генерировать числа от 1 до 4 итераций. Это необязательно.
- Размер шага используется для пропуска определенных чисел из итерации. Использовать необязательно. По умолчанию размер шага равен 1, но это необязательно.
Рассмотрим следующие примеры:
Пример-1: Программа для последовательной печати чисел.
Пример – 2: Программа для печати таблицы с заданным номером.
Пример-3: Программа для печати четного числа, используя размер шага в диапазоне().
Мы также можем использовать функцию range() с последовательностью чисел. Функция len() сочетается с функцией range(), которая выполняет итерацию по последовательности с использованием индексации. Рассмотрим следующий пример.
Вложенный цикл for в Python
Python позволяет нам вкладывать любое количество циклов for внутри цикла for. Внутренний цикл выполняется n раз на каждой итерации внешнего цикла. Синтаксис приведен ниже.
Пример – 1: Вложенный цикл for.
Пример-2: Программа числовой пирамиды.
Использование оператора else с циклом for
В отличие от других языков, таких как C, C ++ или Java, Python позволяет нам использовать оператор else с циклом for, который может выполняться только тогда, когда все итерации исчерпаны. Здесь мы должны заметить, что если цикл содержит любой из операторов break, тогда оператор else не будет выполнен.
Цикл for полностью исчерпан, так как нет обрыва.
В приведенном выше примере цикл разорван из-за оператора break; следовательно, оператор else не будет выполняться. Оператор, находящийся рядом с блоком else, будет выполнен.
Цикл прерван из-за того, что оператор break … вышел из цикла. Мы узнаем больше об операторе break в следующем уроке.
Циклы for и while. Цикл for
Двоеточие (:) в конце строки с инструкцией while сообщает Python, что дальше находится блок команд. В блок входят все строки, расположенные с отступом от строки с инструкцией while , вплоть до следующей строки без отступа.
Блок команд, который выполняется в цикле while , называется телом цикла.
Рассмотрим код, использующий цикл while , который распечатает 10 раз слово Привет :
Такой код можно легко заменить циклом for , поскольку мы заранее знаем сколько раз нужно выполнить тело цикла. Однако так бывает не всегда.
Напишем программу, которая считывает числа и выводит их квадраты, пока не будет введено -1. При такой постановке задачи мы не можем воспользоваться циклом for , так как не знаем сколько чисел будет предшествовать числу -1.
print( ‘Квадрат вашего числа равен:’ , num * num)
- напечатать квадрат введенного числа;
- считать следующее число.
- правильная инициализация переменной num ;
- изменение переменной num внутри цикла while .
Цикл while очень похож на условный оператор if . Разница заключается в том, что в случае с условным оператором соответствующий блок кода будет выполняться только один раз, тогда как с циклом while блок кода будет выполнен многократно.
Цикл for VS цикл while
Мы всегда можем заменить цикл for с помощью цикла while . Следующие две программы выводят числа от 0 до 100:
for i in range( 101 ):
В первом цикле переменная i последовательно принимает значения от 0 до 100. Для цикла while , нам пришлось завести самостоятельно переменную i и придать ей начальное значение. Тело цикла while содержит аналогичную инструкцию вывода print(i) , однако помимо этого мы самостоятельно увеличиваем значение переменной i на 1, что делается автоматически в случае с циклом for .
Напишем программу, выводящую все числа, кратные 3, используя цикл for и while :
for i in range( 0 , 100 , 3 ):
Не всегда, однако удается заменить цикл while с помощью цикла for . Если заранее не известно количество итераций, то необходимо использовать цикл while и только его.
Считывание данных до стоп значения
Часто при решении задач на цикл while , мы считываем данные, до тех пор пока пользователь не введет некоторое значение, которое называют стоп значением. Напишем программу, которая считывает числа и находит их сумму, до тех пор пока пользователь не введет слово stop :
while text != ‘stop’ :
print( ‘ Сумма чисел равна ‘ , total)
Такой код будет часто использоваться при решении задач.
Бесконечный цикл
Всегда, кроме редких случаев, цикл while должен содержать возможность завершиться. То есть в цикле что-то должно сделать проверяемое условие ложным. Если цикл не имеет возможности завершиться, то он называется бесконечным циклом. Бесконечный цикл продолжает повторяться до тех пор, пока программа не будет прервана. Бесконечные циклы обычно появляются, когда программист забывает написать программный код внутри цикла, который делает проверяемое условие ложным. В большинстве случаев следует избегать применения бесконечных циклов.
Пример бесконечного цикла:
Так как в теле цикла не происходит изменения переменной i , то условие i остается истинным и цикл выполняется бесконечно много раз.
Бесконечные циклы можно использовать в связке с оператором прерывания break . Об этом будет рассказано в следующих уроках.
Примечание 1. Цикл while получил свое название из-за характера своей работы: он выполняет некую задачу до тех пор, пока условие является истинным. Слово while на английском означает как раз «пока».
Примечание 2. Цикл while называют циклом с предусловием, поскольку выполнению тела цикла предшествует проверка условия (сначала проверяется условие, а уже затем выполняется тело цикла).
Примечание 3. Однократное выполнение тела цикла называется итерацией цикла.
Примечание 4. Цикл while может не выполниться ни одного раза. Например, следующий код:
print( ‘Hello world!’ )
не выведет текст, поскольку условие i > 0 ложно с самого начала.
Примечание 5. Графическое представление цикла while имеет вид:

Примечание 6. Условие в цикле while , как и в условном операторе if , может содержать логические операции or, and, not .
Когда цикл while проверяет свое условие: до или после того, как он выполнит итерацию?
Сколько раз сообщение «Python awesome!» будет напечатано в приведенном ниже фрагменте кода?
print ( ‘ Python awesome !’ )
Сколько раз сообщение «Python awesome!» будет напечатано в приведенном ниже фрагменте кода?
print( ‘Python awesome!’ )
Что покажет приведенный ниже фрагмент кода?
- Использование цикла while для обработки цифр числа;
- Решение задач.
Обработка цифр числа
При изучении целых чисел (тип данных int ), мы говорили про операцию целочисленного деления // и операцию нахождения остатка от деления одного целого числа на другое % . Используя цикл while и две данных операции, можно обработать цифры числа с произвольным количеством разрядов (цифр).
- результатом операции n % 10 – является последняя цифра числа;
- результатом операции n // 10 – является число с удаленной последней цифрой.
while n != 0 : # пока в числе есть цифры
last_digit = n % 10 # получить последнюю цифру
# код обработки последней цифры
- процедуру получения последней цифры last_digit = n % 10 ;
- код обработки последней цифры;
- процедуру удаления последней цифры из числа n = n // 10 .
Напишем программу, которая определяет есть ли в числе цифра 7.
has_seven = False # сигнальная метка
last_digit = num % 10
if last_digit == 7 :
if has_seven == True :
- Оператор break;
- Оператор continue;
- Бесконечные циклы ;
- Ключевое слово else в циклах;
- Решение задач.
Оператор прерывания цикла break
Иногда бывает нужно прервать выполнение цикла преждевременно. Оператор break прерывает ближайший цикл for или while .
Усовершенствуем программу, проверяющую число на простоту с помощью оператора break:
Напишем программу, определяющую, что число является простым:
for i in range( 2 , num):
if num % i == 0 : # если исходное число делится на какое-либо отличное от 1 и самого себя
break # останавливаем цикл если встретили делитель числа
print( ‘ Число простое ‘ )
print( ‘Число составное’ )
Как только мы встречаем делитель отличный от 1 и num , мы меняем значение сигнальной метки и прерываем цикл, поскольку дальнейшее его выполнение лишено смысла: число гарантированно не является простым.
Оператор прерывания цикла break позволяет ускорять программы, так как мы избавляемся от лишних итераций.
Напишем программу, использующую цикл for , которая считывает 10 чисел и суммирует их до тех пор, пока не обнаружит отрицательное число. В этом случае выполнение цикла прерывается командой break :
for i in range( 10 ):
Оператор прерывания цикла break удобен в связке с сигнальными метками: когда после проверки некоторого условия нам нет смысла продолжать выполнение цикла.
Напишем, программу, которая определяет, содержит ли введенное пользователем число, цифру 7.
last_digit = num % 10
if last_digit == 7 :
break # прерываем цикл, так как число гарантированно содержит цифру 7
print ( ‘Число’ , number , ‘содержит цифру 7’ )
print( ‘Число’ , number, ‘не содержит цифру 7’ )
Как только мы встретили цифру 7, мы меняем значение сигнальной метки и прерываем цикл с помощью оператора break . Мы можем и не прерывать цикл преждевременно, а дождаться его естественного завершения (условие num != 0 , то есть все цифры числа обработаны), однако в таком случае мы будем совершать лишнюю работу, и в случае если число очень большое, то программа будет работать медленнее.
Бесконечные циклы
В предыдущих уроках мы говорили о цикле, который не имеет возможности завершиться и назвали его бесконечным циклом. Самый простой способ создать бесконечный цикл в Python – записать следующий код:
print ( ‘ Python awesome !’ )
Результатом выполнения такого кода будет бесконечное количество строчек текста:
Бесконечный цикл продолжает повторяться до тех пор, пока программа не будет прервана. Изучив оператор break , мы получили механизм прерывания бесконечных циклов.
Возможно, вам может показаться, что бесконечные циклы лишены смысла, однако это не совсем так. Например, вы можете написать программу, которая запускается и работает, постоянно принимая запросы на обслуживание. Программный код такой программы может выглядеть так:
query = get_new_query() # получаем новый запрос на обработку
query.process() # обрабатываем запрос
Иногда с помощью бесконечного цикла удается сделать программный код более читабельным. Более простым может быть завершение цикла на основе условий внутри тела цикла, а не на основе условий в его заголовке:
if условие 1 : # условие для остановки цикла
if условие 2 : # еще одно условие для остановки цикла
if условие 3 : # еще одно условие для остановки цикла
В подобных случаях, когда существует множество причин завершения цикла, часто их проще выделить из нескольких разных мест, чем пытаться указать все условия завершения в заголовке цикла.
Важно: бесконечные циклы могут быть очень полезными. Просто помните, что вы должны убедиться, что цикл в какой-то момент будет прерван, чтобы он действительно не становился бесконечным.
Оператор 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 # переходим на следующую итерацию
Примечание 1. Оператор break прерывает выполнение ближайшего цикла, а не программы, то есть далее будет выполнена команда, следующая сразу за циклом.
Примечание 2. Графическое представление операторов break и continue имеет вид:
Ответы на модуль 7.6 из курса «Поколение python: курс для начинающих»
Полное решение на питоне урока 7.6 из » Поколение python: курс для начинающих».
Что покажет приведенный ниже фрагмент кода?
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 делитель.
Формат входных данных
На вход программе подается одно натуральное число n.Формат выходных данных
Программа должна вывести наименьший делитель отличный от 1.Примечание. Используйте оператор break при обнаружении делителя.
Следуй правилам
На вход программе подается натуральное число nn. Напишите программу, которая выводит числа от 1 до n включительно за исключением:чисел от 5 до 9 включительно;
чисел от 17 до 37 включительно;
чисел от 78 до 87 включительно.
Формат входных данных
На вход программе подается одно натуральное число n.Формат выходных данных
Программа должна вывести числа в соответствии с условием задачи, каждое на отдельной строке.Примечание. Используйте оператор continue .
Будет ли выполнен блок кода else, в приведенном ниже фрагменте кода?
n = 0
while n < 10:
n += 2
print(n)
else:
print(‘Цикл завершен.’)
Будет ли выполнен блок кода else, в приведенном ниже фрагменте кода?
n = 0
while n < 10:
n += 2
if n == 8:
break
print(n)
else:
print(‘Цикл завершен.’)
Будет ли выполнен блок кода else, в приведенном ниже фрагменте кода?
n = 0
while n < 10:
n += 2
if n == 7:
break
print(n)
else:
print(‘Цикл завершен.’)
Задачи на применение циклов while и for
Различные задачи на применение циклов while и for в Python бывают как простыми, так и сложными, но все они сводятся к одному: перебор элементов, и чаще это конечно цикл for. В этой статье мы рассмотрим несколько задач, может вам пригодится, и пишите свои варианты решения!
Задача 1: Пользователь вводит с клавиатуры две границы диапазона и число. Если число не попадает в диапазон, программа просит пользователя повторно ввести число, и так до тех пор, пока он не введет число правильно. Программа отображает все числа диапазона, выделяя число восклицательными знаками. Например: 1 2 3 !4! 5 6 7.
Решений может быть несколько, одно из самых простых выглядит вот так:
Или второй вариант, так же простой:
Задача 2: Написать функцию is_prime, которая принимает 1 аргумент – число от 0 до 1000, и возвращает True, если оно простое, и False – иначе. (Простое число – это натуральное число, единственными делителями которого только оно самое и единица.)
Задача 3. Пользователь вводит число. Определить количество цифр в этом числе, посчитать их сумму и среднее арифметическое. Определить количество нулей в этом числе. Общение с пользователем организовать через меню.
Подсчитать количество целых чисел в диапазоне от 100 до 9999 у которых все цифры разные.