v1.0.0

Python с нуля для ЕГЭ · Числа, типы и арифметические выражения

Урок курсаPython 35 задачБесплатно

Числа, типы и арифметические выражения

Разберём целые и вещественные числа, порядок вычислений и разницу между обычным, целым делением и остатком.

Теория

Одно число может храниться по-разному

После первой программы у нас уже есть знакомый путь: input()получает текст, а int() превращает его в целое число. Это важно: Python выбирает допустимые операции не по внешнему виду значения, а по его типу.

count = int("12")price = float("79.5")print(count + 3)print(price * 2)

int хранит целое число, а float — число с дробной частью. Для количества задач обычно нужен int; для цены или измерения может понадобиться float.

Четыре вида деления и степень

Операторы /, // и %отвечают на разные вопросы. Обычное деление даёт частное, целое деление показывает, сколько полных частей поместилось, а остаток — что осталось.

Разберём на примере
Разделим 17 конфет между пятью людьми
Нужно найти размер одной полной порции и число оставшихся конфет.
  1. 17 // 5 равно 3: каждому можно дать три целые конфеты.
  2. 17 % 5 равно 2: две конфеты останутся.
  3. 17 / 5 равно 3.4: это математическое частное, а не готовая целая порция.
  4. Оператор ** возводит в степень: 5 ** 2 равно 25.
Проверьте себя
Что описывает выражение 23 % 10?
Остаток от деления на 10 — последнюю цифру числа, то есть 3.

Python тоже соблюдает порядок действий

Сначала выполняются скобки и степень, затем умножение и деление, после них сложение и вычитание. Если выражение приходится перечитывать, полезнее поставить скобки и сделать замысел видимым, даже когда Python получил бы тот же ответ без них.

without_parentheses = 2 + 3 * 4with_parentheses = (2 + 3) * 4print(without_parentheses)print(with_parentheses)

Как проверить числовое выражение

Как действовать
Не угадываем результат
  1. Подпишите типы. Где текст, целое или вещественное число?
  2. Отметьте скобки. Они задают первый шаг вычисления.
  3. Разберите операции. Отдельно вычислите степень, умножение и деление.
  4. Сверьте смысл. Целая порция, остаток и обычное частное не взаимозаменяемы.
  5. Запустите пример. Сравните вывод с прогнозом, а не вместо прогноза.
Проверьте себя
Почему результат input() нельзя сразу складывать с целым числом?
input() возвращает строку. Сначала её нужно явно преобразовать, например через int().

Практика

Соблюдите порядок действий

Что выведет print(2 + 3 * 4)?

Подсказка
Умножение выполняется раньше сложения.
Решение

Сначала 3 * 4 = 12, затем 2 + 12 = 14.

Найдите целую порцию

Чему равно 23 // 5?

Подсказка
Посчитайте, сколько полных пятёрок помещается в 23.
Решение

В 23 помещаются четыре полные пятёрки; ещё 3 остаётся.

Найдите остаток

Чему равно 23 % 5?

Подсказка
После четырёх полных пятёрок остаётся часть числа.
Решение

4 * 5 = 20, поэтому остаток от 23 равен 3.

Выберите преобразование

Какую функцию нужно применить к строке "12.5", чтобы умножить полученное число на 2 без ошибки?

Подсказка
У значения есть дробная часть.
Решение

Строка содержит десятичную точку, поэтому подходит float("12.5").

Проверьте выражение локально

Сначала предскажите, затем запустите print((7 + 5) // 3 + 2 ** 3). Какое число выведет Python?

Подсказка
Сначала скобки и степень, затем целое деление и сложение.
Решение

(7 + 5) // 3 = 4, 2 ** 3 = 8, итог 4 + 8 = 12.

Итог

Теперь вы можете читать числовое выражение по шагам и выбирать операцию по смыслу задачи, а не по знакомому знаку.

Следующий урок об ошибках покажет, как Python сообщает о несовместимых типах и неверном преобразовании введённого текста.

Прогресс

0 / 5
x

Вы ещё не решали задания