бесплатно без регистрации урок 2 из 14

Числа и операторы

Считать в Python: три вида деления, два типа чисел, порядок действий и вывод числа рядом с текстом.

6 мин чтения · 4 главы ·5 заданий ·домашняя работа

Арифметика и три деления

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

2 + 3      сложение
7 - 2      вычитание
4 * 5      умножение
9 / 2      деление
9 // 2     целочисленное деление
9 % 2      остаток
2 ** 10    степень
print(2 + 3)
print(4 * 5)
print(2 ** 10)

5 20 1024

Порядок действий обычный: сначала степень, потом умножение и деление, потом сложение и вычитание. Скобки меняют порядок, как в математике.

print(2 + 3 * 4)
print((2 + 3) * 4)

14 20

17 / 53.417 // 5317 % 52сколько раз, с дробьюсколько целых разчто осталось17 = 5 × 3 + 2, и последние два числа — это // и %
Обычное даёт дробь, целочисленное отбрасывает остаток, а остаток берёт то, что отброшено.

Три деления — то, чего нет в школьной записи, и то, что пригодится в каждом втором задании.

Обычное деление / всегда даёт дробь — даже когда делится нацело. 10 / 2 это 5.0, с точкой.

Целочисленное // отбрасывает дробную часть: 17 // 5 это 3. Так считают, сколько коробок понадобится и сколько полных минут прошло.

Остаток % берёт то, что не поместилось: 17 % 5 это 2. Так узнают, чётное ли число (n % 2 == 0) и делится ли одно на другое.

print(10 / 2)
print(17 // 5)
print(17 % 5)

5.0 3 2

Целые и дробные

Чисел в Python два вида. Целые (int) — без дробной части: 5, −3, 1000. Дробные (float) — с точкой: 5.0, 3.4, −0.5.

int5, -3, 1000float5.0, 3.4, -0.5/int()int() отбрасывает дробную часть, а не округляет
Целое и дробное — разные типы, и деление превращает одно в другое.

Узнать тип можно прямо в программе:

print(type(5))
print(type(5.0))
print(type("5"))

<class 'int'> <class 'float'> <class 'str'>

Третья строка — не число вовсе. «5» в кавычках — это текст, и складывать его с числами нельзя.

Превращают одно в другое явно:

print(int("42") + 1)
print(float("2.5") * 2)
print(str(42) + "!")

43 5.0 42!

int() из дробного числа отбрасывает дробную часть, а не округляет:

print(int(3.9))
print(int(-3.9))
print(round(3.9))

3 -3 4

Округляет round. Разница важная: int(3.9) это 3, round(3.9) это 4.

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

Порядок действий тот же, что в математике, и ошибки в нём — самые обидные: программа работает, а число неверное.

1. **                      степень
2. * / // %                умножение и деления
3. + -                     сложение и вычитание
print(2 + 3 * 4)
print(2 * 3 ** 2)
print(10 - 4 - 3)

14 18 3

Третья строка показывает ещё одно правило: при равном старшинстве считают слева направо. 10 - 4 - 3 это (10 - 4) - 3 = 3, а не 10 - (4 - 3) = 9.

Скобки ставят не только когда нужно поменять порядок, но и когда так понятнее. Это не лишняя работа — это забота о том, кто будет читать:

итог = цена * штук - скидка          работает
итог = (цена * штук) - скидка        понятно

Средняя арифметическая — классическое место, где скобки обязательны:

а = 4
б = 6
print(а + б / 2)
print((а + б) / 2)

7.0 5.0

Первая строка посчитала «а плюс половину б» — не то, что задумано.

Число рядом с текстом

Напечатать число рядом с текстом можно тремя способами, и у каждого своё место.

итог = 1250
print("Итого:", итог, "рублей")

Итого: 1250 рублей

Через запятую — самый простой. Пробелы Python ставит сам. Годится почти всегда.

итог = 1250
print("Итого: " + str(итог) + " рублей")

Итого: 1250 рублей

Склейкой — когда пробелы не нужны или нужны свои. Число обязательно превратить в текст через str(), иначе TypeError.

итог = 1250
print(f"Итого: {итог} рублей")

Итого: 1250 рублей

f-строка — буква f перед кавычками, и всё, что в фигурных скобках, подставляется. Это самый читаемый способ, и в новом коде пишут почти всегда его.

В фигурных скобках может стоять не только имя, но и выражение:

цена = 500
штук = 3
print(f"Всего: {цена * штук} ₽")

Всего: 1500 ₽

И формат: две цифры после точки, разделители тысяч.

доля = 0.38461
print(f"{доля:.2f}")
print(f"{1234567:,}")

0.38 1,234,567

Задания урока

Каждое проверяется сразу: ответ сверяется с эталоном, и на неверный вариант приходит разбор.

  1. Напечатайте остаток от деления 47 на 5.легко
  2. В «минут» лежит 200. Напечатайте, сколько это полных часов и минут, в виде «3 ч 20 мин».средне
  3. В «текст» лежит строка «73». Прибавьте к ней 7 как к числу и напечатайте результат.средне
  4. В «а» лежит 7, в «б» лежит 11. Посчитайте их среднее арифметическое в «среднее» и напечатайте.средне
  5. В «цена» лежит 1490, в «скидка» — 0.15. Напечатайте f-строкой: «Со скидкой: 1266.50 ₽» — два знака после точки.сложно
Пройти урок с проверкой заданий Курс «Python» открыт и бесплатен, прогресс сохраняется.
Открыть курс