PythonPython 1. Первые шаги0%
Python для ЕГЭ · тема 1 из 11

Первые шаги

Вывод на экран, переменные и арифметика. Это кирпичи, из которых собрано решение любого номера, поэтому тут без спешки.

6 разделов~30 минутнужно во всех номерах
  1. 1print: первая программа
  2. 2Переменные
  3. 3Арифметика и три главных знака
  4. 4Числа, строки и input
  5. 5Сломай код
  6. 6Где пригодится на ЕГЭ
Раздел 1 из 6

Программа на Python это список команд, которые выполняются сверху вниз, по одной. Первая команда, которая нужна всегда, это print: она выводит на экран то, что стоит в скобках.

python
print('Привет!')
print(2 + 3)
print('2 + 3')

Посмотри на вторую и третью строку. Без кавычек Python считает: 2 + 3 превращается в 5. В кавычках это просто текст, его выводят как есть.

В одном print можно вывести несколько вещей через запятую. Между ними Python сам поставит пробел:

python
print('Ответ:', 2 + 3)

Так удобно подписывать, что ты выводишь. Когда в программе пять print, без подписей легко запутаться, какое число откуда.

Раздел 2 из 6

Переменные

Переменная это имя, под которым мы запоминаем значение. Записываем так: имя, знак =, значение.

python
w = 1024        # ширина картинки в пикселях
h = 768         # высота
print(w * h)    # сколько всего пикселей

Знак = тут не значит «равно», как в математике. Он значит «положи значение справа в переменную слева». Поэтому в Python нормально написать так:

python
k = 0
k = k + 1    # взяли старое k, прибавили 1, положили обратно
k += 1       # то же самое, только короче
print(k)

Строка k = k + 1 в математике бессмыслица, а в Python это обычное дело. Именно так в №8 растёт номер слова и счётчик подходящих слов.

Имена переменных пишем латиницей, можно с цифрами и _, но не с цифры в начале: k, total, max_sum, x1. Большие и маленькие буквы различаются: x и X это две разные переменные.

Попробуй самучебная задача

Сколько секунд в одних сутках? Заведи переменные для часов, минут и секунд и перемножь.

Раздел 3 из 6

Арифметика и три главных знака

Плюс, минус и умножение работают как обычно. Интереснее деление. В Python их три вида, и все три постоянно нужны на ЕГЭ.

ЗнакЧто делает17 и 5
/обычное деление17 / 5 → 3.4
//целая часть от деления17 // 5 → 3
%остаток от деления17 % 5 → 2
**степень2 ** 10 → 1024
python
print(17 / 5)
print(17 // 5)
print(17 % 5)
print(2 ** 10)

// и % работают в паре. 17 конфет на 5 человек: каждому по 17 // 5 = 3, и 17 % 5 = 2 остаётся.

Зачем нужен остаток

С остатком очень удобно разбирать число на цифры и проверять делимость:

python
n = 2026
print(n % 10)    # последняя цифра: 6
print(n // 10)   # число без последней цифры: 202
print(n % 2)     # 0, значит n чётное

Запомни эти три приёма, они встречаются в задачах на числа постоянно. Число делится на 7, если n % 7 == 0. Чётное, если n % 2 == 0.

Порядок действий

Как в математике: сначала **, потом * / // %, потом + -. Если сомневаешься, ставь скобки, лишними они не бывают.

python
print(2 + 3 * 4)
print((2 + 3) * 4)
Ловушка

Обычное деление / всегда даёт дробное число, даже если делится нацело: 10 / 2 это 5.0, а не 5. Если нужно целое, бери //.

Попробуй самучебная задача

Какая последняя цифра у числа 7100?

Попробуй самучебная задача

Таймер показывает 100 000 секунд. Сколько это полных часов?

Раздел 4 из 6

Числа, строки и input

У каждого значения в Python есть тип. Нам хватит трёх:

ТипЧто этоПример
intцелое число5, -12, 2026
floatдробное число3.4, 5.0
strстрока, то есть текст'5', 'КОТ'

5 и '5' для Python разные вещи. С числами + складывает, со строками склеивает:

python
print(15 + 2)
print('15' + '2')
print('ab' * 3)

Превратить строку в число можно через int(...), число в строку через str(...):

python
print(int('15') + 2)
print(str(15) + '2')

input: ввод с клавиатуры

input() ждёт, пока человек что-то напечатает, и возвращает это всегда строкой. Даже если ввели цифры. Поэтому число вводят так:

python
n = int(input())    # прочитали строку и сразу превратили в число
print('Ты ввёл:', n)
print('Вдвое больше:', n * 2)
Ввод

Под кодом есть поле «Ввод». Всё, что там написано, программа получит через input(). Поменяй 5 на другое число и запусти ещё раз.

А теперь то же самое, но без int:

python
s = input()         # тут строка '5', а не число 5
print('Ты ввёл:', s)
print('Вдвое больше:', s * 2)
Ввод

Вышло 55: строка '5', умноженная на 2, просто повторилась. Python не ругается, он честно сделал то, что написано. Вот почему int(input()) пишут почти всегда.

Если input() в программе несколько, каждый берёт следующую строку из поля:

python
a = int(input())    # первая строка поля
b = int(input())    # вторая строка
print('Сумма:', a + b)
Ввод

На ЕГЭ input почти не нужен: данные берутся из условия или из файла. Но в учебниках и разборах он встречается, так что знать его надо.

Ловушка: дробные числа

0.1 + 0.2 в Python даёт 0.30000000000000004. Компьютер хранит дроби неточно. Поэтому, где можно, считай в целых числах (//, а не /) и не сравнивай дроби через ==.

Попробуй самучебная задача

Что выведет print('3' * 2 + '1')? Сначала подумай, потом проверь кодом.

Раздел 5 из 6

Сломай код

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

Ниже пять частых ошибок. Запусти каждый блок, посмотри на сообщение, потом исправь.

NameError: такого имени нет

python
x = 5
print(X)

Python говорит, что не знает X, и даже подсказывает Did you mean: 'x'?. Большая и маленькая буквы это разные имена. Ещё NameError бывает, когда забыл кавычки вокруг текста или не написал import.

TypeError: строку с числом не сложить

python
print('Ответ: ' + 5)

Строку можно склеить только со строкой. Исправить можно двумя способами: print('Ответ:', 5) через запятую или print('Ответ: ' + str(5)).

SyntaxError: не закрыта скобка

python
print((2 + 3)

'(' was never closed: открыли две скобки, закрыли одну. SyntaxError значит, что Python вообще не понял, что написано. Чаще всего это скобка, кавычка или забытое двоеточие.

IndentationError: лишний отступ

python
x = 5
    print(x)

В Python отступы не для красоты, они показывают, какие команды внутри if или цикла. Здесь отступ стоит просто так, и Python на него ругается. Подробно про отступы будет в теме «Условия».

ZeroDivisionError: деление на ноль

python
print(10 / 0)

Делить на ноль нельзя и в Python тоже. Встречается, когда делишь на переменную, а она оказалась нулём.

Привычка

Получил ошибку: прочитай последнюю строку, найди номер строки в коде, посмотри на неё и на строку выше. Девять из десяти ошибок находятся так за полминуты.

Раздел 6 из 6

Где пригодится на ЕГЭ

Эта тема нужна вообще везде, но вот где она главная:

НомерЧто из темы
№7Python как калькулятор: размер картинки и звука, ** и //
№5% и // для работы с цифрами числа
№8счётчики k += 1, строки и +
№14огромные степени: 7 ** 100 Python считает точно
№25делимость через %

Пример из №7, весь на знаниях этой темы. Картинка 640 на 480 пикселей, на пиксель 8 бит. Сколько она займёт в Кбайтах?

python
w = 640
h = 480
i = 8                        # бит на один пиксель
size = w * h * i // 8 // 1024   # биты в байты, байты в Кбайты
print(size)

Ответ 300 Кбайт. Тут нет ничего, кроме переменных и деления.

Попробуй самучебная задача

Картинка 1024 на 768 пикселей, на пиксель 16 бит. Сколько Кбайт она займёт?

Код в блоках можно менять и запускать, он выполняется прямо в браузере. Ломай смело, ничего не сломается.