Python≈ 3 мин чтенияБесплатно

Что выведет Python: задачи с разбором для начинающих

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

Сразу к самопроверке
Посмотреть на код изнутри
Посмотреть на код изнутри · от схемы к решению
ШАГ 01

Деление и остаток

a = 17
print(a // 5, a % 5)

Программа выведет 3 2. Оператор // выполняет деление с округлением вниз, а % возвращает остаток. Здесь 17 = 5 × 3 + 2.

Для отрицательных чисел нельзя считать // простым отбрасыванием дробной части: -17 // 5 равно -4, а -17 % 5 равно 3. Сначала освоите положительные числа, затем проверьте это правило отдельно.

ШАГ 02

Правая граница range не входит

s = 0
for x in range(1, 5):
    s += x
print(s)

range(1, 5) даёт 1, 2, 3 и 4. Число 5 не включается. Значения суммы после шагов: 1, 3, 6, 10. На экране будет 10.

Если указать только один аргумент, например range(4), отсчёт начинается с 0: получатся 0, 1, 2, 3.

РАЗБОР ПОД ВАШИМ УПРАВЛЕНИЕМ

Что происходит между строками кода?

Учебный пример: складываем 1 + 2 + 3 + 4. Сначала предположите ответ, затем двигайтесь по одной команде. Подсвечена следующая выполняемая строка.

s = 0for x in range(1, 5):    s += xprint(s)
x · текущее числоещё нет
s · накопленная суммаещё нет
Вывод программыпока пусто
Программа ещё не запущена.

Первый шаг создаст переменную s со значением 0.

Если пройти все шаги вручную

Сумма s: 0 → 1 → 3 → 6 → 10. В range(1, 5) входят 1, 2, 3, 4. После цикла print(s) выведет 10 один раз.

Открыть Python онлайн
ШАГ 03

Переменная хранит новое значение

a = 3
b = a + 2
a = a * 4
print(a, b)

Вывод: 12 5. После второй строки b получает значение 5. Последующее изменение a не пересчитывает b автоматически: присваивание не создаёт формулу электронной таблицы.

ШАГ 04

Как разбирать код без спешки

  1. Выпишите начальные значения переменных.
  2. Для цикла запишите последовательность значений счётчика.
  3. После каждого изменения обновляйте таблицу переменных.
  4. Отметьте, где именно расположен print: внутри цикла или после него.
  5. Сначала предскажите ответ сами, затем проверьте запуском.
ШАГ 05

Почему отступ у print меняет ответ

s = 0
for x in range(1, 4):
    s += x
    print(s)

Здесь print находится внутри цикла: появятся три строки — 1, 3, 6. Если убрать отступ только у последней строки, вывод выполнится один раз после цикла: 6.

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

ШАГ 06

Обратный range и условие: разбираем каждую итерацию

s = 0
for x in range(7, 0, -2):
    if x > 3:
        s += x
print(s)

Шаг −2 даёт числа 7, 5, 3, 1; правая граница 0 не входит. Проверка x > 3 пропускает только 7 и 5. Сумма меняется так: 7 → 12 → 12 → 12. Ответ — 12.

Что изменится при x ≥ 3?

Добавится число 3, ответ станет 15. Изменение одного знака в условии меняет набор подходящих значений.

Порядок работы: выпишите значения range → проверьте условие для каждого → обновите переменные → выполните print. Для продолжения пригодится разбор рекурсивных вычислений.

ШАГ 07

break и continue: короткое сравнение

for x in range(1, 5):
    if x == 3:
        break
    print(x)

Вывод: 1 и 2 на разных строках. break полностью завершает цикл. Если заменить break на continue, появятся 1, 2 и 4: пропускается только оставшаяся часть шага при x = 3. После continue сразу начинается следующая итерация. Ниже — короткое видео преподавателя с объяснением.

Проверьте себя

Сначала решите самостоятельно. Затем проверьте ответ или откройте объяснение.

Ответ и объяснение

2. 23 = 7 × 3 + 2, остаток равен 2.

Ответ и объяснение

12. Последовательность: 2, 4, 6. Сумма равна 12.

Ответ и объяснение

16. Сначала 5 + 3 = 8, затем 8 × 2 = 16.

Ответ и объяснение

15. Получаются 8, 5, 2. Их сумма 15; граница 1 не входит.

Ответ и объяснение

3. Цикл обрабатывает 2, 4, 6. Для каждого значения выполняется один вывод.

КОРОТКИЙ РАЗБОР ПРЕПОДАВАТЕЛЯ

break и continue: в чём разница

break завершает цикл, continue пропускает только текущую итерацию. Видеопример Никиты Саралашвили — 1 мин 43 с.

Открыть видео во ВКонтакте ↗ Telegram

Закрепить тему

Примени изученный приём на новой задаче.

Решить задачу
Ещё по теме и поделиться
Поделиться: Telegram ВКонтакте
ВАШ ПРЕПОДАВАТЕЛЬНикита Саралашвили

Разберёмся вместе

ОГЭ, ЕГЭ и программирование — от первого вопроса до уверенного решения.

Загружаем стоимость занятий…

Обсудим вашу цель?

Напишите, к чему готовитесь и с чем нужна помощь.

Все условия занятий