PYTHON 3.10
Тема урока: работа с целыми числами
Часть II
СПб ГБНОУ «Лицей искусств «Санкт-Петербург», 2022 г.
Что ждёт нас на уроке:
1. Операция возведения в степень
2. Операция нахождения остатка
3. Операция целочисленного деления
4. Обработка цифр числа
5. Решение задач
Аннотация. Урок посвящен дополнительным операциям при работе с целыми числами. Изучим дополнительные операции, а также научимся обрабатывать цифры целого числа..
Дополнительные операции
Мы познакомились с 4 основными математическими операциями в языке Python: сложение (+), вычитание (-), умножение (∗) и деление (/).
Добавив ещё 3 операции, мы получим инструментарий, достаточный для написания 99% программ.
Запомни : числа обозначаются без кавычек, а строки — с кавычками
Оператор
**
Описание
%
Возведение в степень
Остаток от деления
//
Целочисленное деление
Возведение в степень
Оператор возведения в степень a ** n возводит число a в степень n. Рассмотрим работу данного оператора на примерах:
Рассмотрим следующий код:
print(2 ** 0)
print(2 ** 1)
print(2 ** 2)
print(2 ** 3)
print(2 ** (-1))
Результатом выполнения такой программы будет:
1 .
2 .
4 .
8 .
0,5 .
Возведение в степень
Обратите внимание: оператор возведения в степень ** может возводить не только в положительную степень, но и в отрицательную. Аналогично, основание степени a также может быть числом отрицательным.
Запомни : в отличие от многих языков программирования, в языке Python для возведения в степень используется оператор ** , а не ^ .
Обратите внимание: оператор возведения в степень (**) является правоассоциативным (значение выражения вычисляется справа налево) в соответствии с правилами математики. Таким образом, выражение x ** y ** z вычисляется как x ** (y ** z).
Результатом работы следующей программы:
print(2 ** 2 ** 3) # 2 ** (2 ** 3) = 2 ** 8
будет:
256
Целочисленное деление
Для положительных чисел оператор целочисленного деления ведёт себя как обычное деление, за исключением того, что он отбрасывает десятичную часть результата. Рассмотрим работу данного оператора на примерах:
print(10 // 3)
print(10 // 4)
print(10 // 5)
print(10 // 6)
print(10 // 12)
Результатом выполнения такой программы будет:
3 .
2 .
2 .
1 .
0 .
Целочисленное деление
При делении отрицательных чисел необходимо помнить, что результат целочисленного деления не превосходит частное. Другими словами, округление берётся в меньшую сторону (число −4 меньше, чем число 3−3).
Результатом работы следующей программы:
print(10 // 3)
print(-10 // 3)
Результатом выполнения такой программы будет:
3 .
# округление в меньшую сторону
-4 .
# округление в меньшую сторону
Деление с остатком
Оператор деления с остатком возвращает остаток от деления двух целых чисел. Рассмотрим работу данного оператора на примерах:
print(10 % 3)
print(10 % 4)
print(10 % 5)
print(10 % 6)
print(10 % 12)
print(10 % 20)
Результатом выполнения такой программы будет:
1 .
2 .
0 .
4 .
10 .
10 .
Примечания
Примечание 1 . Оператор нахождения остатка очень полезен при решении многих задач. Например, число делится на n нацело тогда и только тогда, когда остаток от деления на n равен 0.
Примечание 2 . Операторы // и % имеют такой же приоритет, как и операторы умножения и обычного деления.
Примечание 3 . Наивысший приоритет имеет оператор возведения в степень **.
Примечание 4 . Полезно прочитать про модулярную арифметику в математике.
Примечание 5 . Обратите внимание: результатом деления n % m при n
Задачи на целочисленное делени
Какими будут результаты выполнения следующих команд?
print(23 // 7)
print(20 // 5)
print(2 // 5)
print(123 // 10)
print(-123 // 10)
Результатом выполнения такой программы будет:
3 .
4 .
0 .
12 .
-13 .
Задачи на Деление с остатком
Какими будут результаты выполнения следующих команд?
print(23 % 7)
print(20 % 5)
print(2 % 5)
print(123 % 10)
print(144 % 12)
print(3 % 1)
Результатом выполнения такой программы будет:
2 .
0 .
2 .
3 .
0 .
0 .
Смешанные Задачи
Что будет выведено на экран в результате выполнения следующей программы
a = 15 // (16 % 7)
b = 34 % a * 5 – 29 % 5 * 2
print(a + b)
29 .
Смешанные Задачи
Что будет выведено на экран в результате выполнения следующей программы
a = 82 // 3 ** 2 % 7)
print(a)
2 .
Домашнее задание
Конспект, презентация «Работа с целыми числами», часть 2.
ДЗ № 09_12