Базовый синтаксис
Время: 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.Лайфхаки на экзамене
- При отладке в Python 3.8+ пишите
print(f'{a=}, {b=}')— выведет имена переменных вместе со значениями. - Для быстрого вывода пар (например, в Задании 17) используйте
print(min_sum, count). - Если нужно перенаправить вывод в файл:
with open('ans.txt', 'w') as f: print(ans, file=f).