ЛАБОРАТОРИЯ НАВЫКОВ · 18 ТРЕНАЖЁРОВ

Тренажёры
по информатике

Короткие тренировки, разбор ошибок и личные рекорды.

Сборная тренировка Разные темы в одном раунде
← Все тренажёры

Что выведет Python: тренажёр чтения кода

Читай код и предсказывай результат

Сначала разобрать пример ↓

За завершённый раунд: 2 монеты. За первый рейтинг: 150, за первую тройку: ещё 100. Бонусы доступны в пяти разных тренажёрах.

Монеты, опыт и медали
🪙 За раунд
2 монеты
🏆 Впервые в топ-50
150 монет
🥇 Впервые в топ-3
ещё 100 монет

Бонусы рейтинга можно получить в пяти разных тренажёрах. В каждом — по одному бонусу за топ-50 и топ-3 за всё время; уровни и режимы печати не дают повторных бонусов.

За раунд: 10 ответов или заезд с набранным текстом, от 20 секунд. За качество: 10–50 XP. Для рейтингового бонуса: от 7 верных ответов из 10, а в печати — заезд на время с точностью от 95%. Монеты за курсы и задачи начисляются отдельно.

Полный режим с таймером и подсветкой

Сначала понять · затем попробовать

Как понять, что выведет программа на Python

Разберите пример по шагам. Затем проверьте себя и вернитесь к тренировке — всё на этой странице.

В заданиях «Что выведет программа?» нужно получить точный результат команды print. Записывайте значения переменных после каждой итерации: это надёжнее, чем пытаться удержать весь цикл в голове.

Пример: сумма в цикле

s = 0
for n in range(2, 8, 2):
    s += n
print(s)

range(2, 8, 2) начинает с 2, делает шаг 2 и останавливается до 8. Перебираются 2, 4, 6.

Началоs = 0+ 2s = 2+ 4s = 6+ 6s = 12

На экране: 12

Почему именно один вывод?

print(s) стоит без отступа, за пределами цикла. Поэтому он выполняется один раз — когда все сложения завершены.

А если перенести print внутрь цикла?
s = 0
for n in range(2, 8, 2):
    s += n
    print(s)

Будут три строки: 2, 6, 12. Пробелы слева меняют порядок выполнения программы.

Три вопроса к коду

  1. Какие значения перебирает цикл?
  2. Как меняются переменные?
  3. Когда и сколько раз выполняется вывод?

Попробуйте без запуска программы

Чему равно s после этого цикла?

s = 0
for n in range(1, 6, 2):
    s += n ** 2
print(s)
Сравнить с разбором

Числа 1, 3, 5 дают квадраты 1, 9, 25. Сумма — 35.

Какие числа перебирает range(7, 0, -2)?

Сравнить с разбором

7, 5, 3, 1. Шаг отрицательный, правая граница 0 не входит. Если поставить положительный шаг 2, такой диапазон будет пустым.

Если ошиблись, сначала выпишите значения range, а затем возвращайтесь к вычислениям.

Теперь закрепите навык

Выберите сложность в блоке запуска. После ошибки прочитайте объяснение и попробуйте следующий пример.

Выбрать сложность и начать ↑

Материал Академии С · О преподавателе и платформе

ОБЪЯСНЕНИЕ → ПРАКТИКА

Разберите тему до старта

Короткое объяснение и примеры помогут увереннее пройти тренировку.

Все статьи ↗