Функция print() и форматирование вывода в Python для ЕГЭ/ОГЭ: шпаргалка и примеры | СмартКИМ
СмартКИМ УДОБНАЯ ПОДГОТОВКА К ЕГЭ И ОГЭ
Все разборы Решать в тренажере Войти в СмартКИМ
ЕГЭ (1–27) ОГЭ (1–15) Python: шпаргалка
Быстрый переход по номерам и темам
Базовый синтаксис Время: 5-10 мин print f-strings форматирование чисел

Функция print() и форматирование вывода

Тема: Параметры sep, end, f-строки и форматирование чисел
Функция print() — главный инструмент вывода результатов, таблиц истинности и отладки алгоритмов в ЕГЭ/ОГЭ. Грамотное использование sep, end и f-строк экономит десятки строк кода.

1. Параметры функции print()

По умолчанию print(*objects, sep=' ', end='\n') разделяет переданные аргументы одним пробелом и завершает вывод переходом на новую строку.

  • sep='' (пустой разделитель): склеивает аргументы вплотную. Незаменимо в Задании №2 ЕГЭ при выводе print(x, y, z, w, sep='').
  • sep='\t' (табуляция): красиво выравнивает колонки таблицы при переменной длине чисел.
  • end=' ' (пробел вместо перевода строки): оставляет курсор на той же строке, позволяя накапливать вывод в цикле.

2. Магия f-строк (f-strings в Python 3.6+)

Символ f перед кавычками позволяет встраивать любые выражения Python прямо внутрь фигурных скобок {expr}:

Конструкция Что делает Результат
f"{x:04d}" Ведущие нули до ширины 4 0042 (при x=42)
f"{pi:.3f}" Округление до 3 знаков после запятой 3.142
f"{num:>10}" Выравнивание по правому краю поля в 10 символов ' 123'
f"{x=}" Отладочный вывод имени и значения переменной x=42

Разновидности и прототипы задания на экзамене

1. Базовый вывод и параметры sep / end
Управление разделителями между аргументами (sep) и символом окончания строки (end).
2. f-строки (f-strings) и выравнивание
Вставка переменных, выражений, спецификаторы ширины, ведущие нули и точность плавающей точки.
3. Вывод таблиц истинности (Задание 2 ЕГЭ)
Компактная печать заголовков и строк без пробелов или с идеальным выравниванием по колонкам.
4. Вывод больших числовых диапазонов и списков
Распаковка через звёздочку *a и кастомные разделители.

Боевой шаблон решения на Python

Запустить код в онлайн-песочнице
Боевой шаблон решения на Python
# === Шпаргалка: Боевые приемы работы с print() ===

# 1. Вывод таблицы истинности для Задания №2 ЕГЭ:
print("x y z w | F")
print("-" * 15)
for x in 0, 1:
    for y in 0, 1:
        for z in 0, 1:
            for w in 0, 1:
                F = (x <= y) and (z <= w)
                if F:
                    # Выводим компактно сплошной строкой или через разделитель:
                    print(f"{x}{y}{z}{w} | {int(F)}")

# 2. Быстрая печать списка без скобок и запятых (распаковка через *):
a = [10, 20, 30, 40, 50]
print(*a)              # Выведет: 10 20 30 40 50
print(*a, sep=", ")    # Выведет: 10, 20, 30, 40, 50
print(*a, sep=" -> ")  # Выведет: 10 -> 20 -> 30 -> 40 -> 50

# 3. Печать чисел в одну строку в цикле:
for i in range(1, 6):
    print(i, end=" ")
print() # Перенос на новую строку

# 4. Форматирование двоичных и шестнадцатеричных чисел с префиксами:
n = 255
print(f"Двоичное: {n:08b}")   # 11111111 (8 бит)
print(f"Шестнадцатеричное: {n:04X}") # 00FF (заглавные буквы)

Типичные ошибки

✕ Не так
# ❌ Ошибка: Склеивание чисел со строками через плюс без str()
print('Результат: ' + 42) # TypeError: can only concatenate str to str
✓ Так
# ✅ Правильно: Использовать f-строку или запятую:
print(f'Результат: {42}') print('Результат:', 42)
✕ Не так
# ❌ Ошибка: Печать элементов списка в цикле с лишними переводами строк
for x in a: print(x) # Каждое число на отдельной строке
✓ Так
# ✅ Правильно: Распаковать список через звёздочку:
print(*a)
ГРОБ

ЛОВУШКА: Забытый end='' склеивает следующий независимый вывод

Если в одном цикле использован end=' ', а следующий вывод ожидается с новой строки, они слипнутся.

Как обойти
Всегда добавляйте пустой print() сразу после завершения цикла с кастомным end.

Лайфхаки на экзамене

  1. При отладке в Python 3.8+ пишите print(f'{a=}, {b=}') — выведет имена переменных вместе со значениями.
  2. Для быстрого вывода пар (например, в Задании 17) используйте print(min_sum, count).
  3. Если нужно перенаправить вывод в файл: with open('ans.txt', 'w') as f: print(ans, file=f).
Все разборы заданий Открыть в тренажере СмартКИМ