Python арифметические операции примеры

Числовые типы, арифметические операции

На этом занятии мы поподробнее поговорим о представлении чисел и арифметических операциях над ними.

  • int – для целочисленных значений;
  • float – для вещественных;
  • complex – для комплексных.

Основные арифметические операции

Пока такого понимания чисел будет вполне достаточно. Следующим шагом, нам с вами нужно научиться делать арифметические операции над ними. Что это за операции? Базовыми из них являются, следующие:

Оператор Описание Приоритет
+ сложение 2
вычитание 2
* умножение 3
/, // деление 3
% остаток деления 3
** возведение в степень 4

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

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

Теперь a ссылается на объект с числом 5. Давайте разберемся, как работает эта строчка. Сначала в Python создаются два объекта со значениями 2 и 3. Оператор сложения берет эти значения, складывает их и формирует третий объект со значением 5. А, затем, через оператор присваивания, этот объект связывается с переменной a. В конце, если на объекты 2 и 3 не ссылаются никакие другие переменные, они автоматически удаляются из памяти сборщиком мусора. Возможно, вас удивило, что при такой простой операции сложения двух чисел выполняется столько шагов. Но в Python реализовано все именно так. И это справедливо для всех арифметических операций. Мало того, раз операция сложения возвращает объект с результатом, то можно сделать и такое сложение из трех чисел:

Читайте также:  Php set server date

И так далее, можно записать сколько угодно операций сложения в цепочку. Давайте теперь сложим целое число с вещественным:

Очевидно, что результат получается тоже вещественным. Отсюда можно сделать вывод, что сложение целого числа с вещественным всегда дает вещественное значение. А вот при делении двух любых чисел, мы всегда будем получать вещественное число (даже если числа можно разделить нацело):

Если же нам нужно выполнить деление с округлением к наименьшему целому, то это делается через оператор:

На выходе получаем значение 3, так как оно является наименьшим целым по отношению к 3,5. Обратите внимание, что при делении отрицательных чисел:

получим уже значение -4, так как оно наименьшее по отношению к -3,5. Вот этот момент следует иметь в виду, применяя данный оператор деления. Следующий оператор умножения работает очевидным образом:

Обратите внимание, в последней операции получим вещественное значение 9.0, а не целое 9, так как при умножении целого на вещественное получается вещественное число. Давайте теперь предположим, что мы хотим вычислить целый остаток от деления. Что это вообще такое? Например, если делить 10 : 3 то остаток будет равен 1. Почему так? Все просто, число 3 трижды входит в число 10 и остается значение 10 — 3∙3 = 1. Для вычисления этого значения в Python используется оператор:

то получим 2. Я думаю, общий принцип понятен. Здесь есть только один нюанс, при использовании отрицательных чисел. Давайте рассмотрим четыре возможные ситуации:

9 % 5 # значение 4 -9 % 5 # значение 1 9 % -5 # значение -1 -9 % -5 # значение -4

Почему получаются такие значения? Первое, я думаю, понятно. Здесь 5 один раз входит в 9 и остается еще 4. При вычислении -9 % 5 по правилам математики следует взять наименьшее целое, делящееся на 5. Здесь – это значение -10. А, далее, как и прежде, вычисляем разность между наименьшим, кратным 5 и -9: -9 – (-10) = 1 При вычислении 9 % -5, когда делитель отрицательное число, следует выбирать наибольшее целое, кратное 5. Это значение 10. А, далее, также вычисляется разность: 9 – 10 = -1 В последнем варианте -9 % -5 следует снова выбирать наибольшее целое (так как делитель отрицателен), получаем -5, а затем, вычислить разность: -9 – (-5) = -4 Как видите, в целом, все просто, только нужно запомнить и знать эти правила. Кстати, они вам в дальнейшем пригодятся на курсе математики. Последняя арифметическая операция – это возведение в степень. Она работает просто:

2 ** 3 # возведение в куб 36 ** 0.5 # 36 в степени 1/2 (корень квадратный) 2 ** 3 ** 2 # 2^3^2 = 512

В последней строчке сначала 3 возводится в квадрат (получаем 9), а затем, 2 возводится в степень 9, получаем 512. То есть, оператор возведения в степень выполняется справа-налево. Тогда как все остальные арифметические операции – слева-направо.

Приоритеты арифметических операций

Получим значение 9. Почему так произошло? Ведь кубический корень из 27 – это 3, а не 9? Все дело в приоритете арифметических операций (проще говоря, в последовательности их выполнения). Приоритет у оператора возведения в степень ** — наибольший. Поэтому здесь сначала 27 возводится в степень 1, а затем, 27 делится на 3. Получаем искомое значение 9. Если нам нужно изменить порядок вычисления, то есть, приоритеты, то следует использовать круглые скобки:

Теперь видим значение 3. То есть, по правилам математики, сначала производятся вычисления в круглых скобках, а затем, все остальное в порядке приоритетов. Приведу еще один пример, чтобы все было понятно:

То есть, приоритеты работают так, как нас учили на школьных уроках математики. Я думаю, здесь все должно быть понятно. Также не забывайте, что все арифметические операторы выполняются слева-направо (кроме оператора возведения в степень), поэтому в строчке:

Дополнительные арифметические операторы

В заключение этого занятия рассмотрим некоторые дополнения к арифметическим операторам. Предположим, что у нас имеются переменные:

И, далее, мы хотим переменную i увеличить на 1, а j – уменьшить на 2. Используя существующие знания, это можно сделать, следующим образом:

Результат будет прежним, но запись короче. Часто, в таких ситуациях на практике используют именно такие сокращенные операторы. То же самое можно делать и с умножением, делением:

Источник

Вычисления

Вы считаете, что арифме­тиче­ские операции — это просто? Пересчитайте. На самом деле, всё не так страшно, но рас­слабляться не стоит. Начнём со всем знакомой чет­вер­ки:

print ( 10 + 10 )
# 10
print ( 10 — 5 )
# 5
print ( 11 * 7 )
# 77
print ( 10 / 2 )
# 5.0

Никаких неожиданностей, правда? Не совсем, посмотрите внимательно на операцию деле­ния. Заметили? Мы разделили целое число на его делитель, но несмотря на это, результат имеет тип float. Взглянем на операцию деления чуть более пристально:

print ( 10 / 2 )
# 5.0
print ( 100 / 3 )
# 33.333333333333336
print ( 21 / 4 )
# 5.25
print ( 23 / 7 )
# 3.2857142857142856

Иногда можно увидеть такие приколы:

print ( 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 )
# 0.7999999999999999
print ( 0.1 + 0.2 )
# 0.30000000000000004
print ( 7 / 3 )
# 2.3333333333333335

Еще немного математики. Математика в каждый дом!

# Возведение в степень
print ( 10 * * 2 )
# 100
print ( 2 * * 4 )
# 16
print ( 3 * * 0.5 )
# 1.7320508075688772
print ( 3 * * -2 )
# 0.1111111111111111
# Остаток от деления
print ( 11 % 4 )
# 3
print ( 101 % 7 )
# 3
print ( 34 % 5 )
# 4
# Деление нацело
print ( 20 // 4 )
# 5
print ( 129 // 11 )
# 11
print ( 100 // 61 )
# 1

Операции сравнения в python

Операции сравнения в отличие от арифметические имеют всего два результата: True и False. Чаще всего такие операции используются в условии циклов, условных оператов, а также в некоторых функциях, например, filter.

# Операция равенства: True, если X равен Y
print ( 10 == 10 )
# True
print ( 666 == 661 )
# False
# Операция неравенства: True, если X не равен Y
print ( 666 != 661 )
# True
print ( 666 != 666 )
# False
# Операция больше: True, если X больше Y
print ( 120 > 2 )
# True
print ( 1000 > 1999 )
# False
# Операция меньше: True, если X меньше Y
print ( 121 120 )
# False
print ( 0 1 )
# True
# Операция меньше или равно: True, если X меньше или равен Y
print ( 6 6 )
# True
print ( 5 2 )
# False
# Операция больше или равно: True, если X больше или равен Y
print ( 1000 >= 10000 )
# False
print ( 9999 >= 9999 )
# False

Логические операции

Логические операции, как и операции сравнения, имеют всего два возможных результата: True и False. Используются для объединения операций сравнения в условиях циклов и условных оператов

# Оператор «and» или конъюнкция.
# True, если и выражение X, и выражение Y равны True
print ( 10 == 10 and 10 > 2 )
# True
print ( 666 == 661 and 9 > 0 )
# False
# Оператор «or» или дизъюнкция.
# True, если или выражение X, или выражение Y равны True
print ( 666 == 661 or 9 > 0 )
# True
print ( 666 == 661 or 9 0 )
# False
# Оператор » not » или инверсия меняет значение на противоположное.
# True, если выражение X равно False
print ( not 120 > 2 )
# False
print ( not 1000 999 )
# True
print ( not ( 121 121 and 10 == 2 ))
# True

Округление чисел в python

Всё дело в округлении! В python есть несколько заме­ча­тель­ных функций, которые округ­ляют число до указанного знака. Одной из таких функций является round :

pi = 3.14159265358979323846264338327
print ( round (pi, 1 ))
# 3.1
print ( round (pi, 2 ))
# 3.14
print ( round (pi, 3 ))
# 3.12
print ( round (pi, 4 ))
# 3.1416
print ( round (pi, 10 ))
# 3.1415926536
print ( round (pi, 15 ))
# 3.141592653589793

Рассмотрим любопытный пример:

print ( round ( 2.5 ))
# 2
print ( round ( 3.5 ))
# 4

Если на вашем лице застыл немой вопрос: «почему?», то я вас понимаю. В школе нас учили, что дроби 1.1, 1.2, 1.3, 1.4 округляются до единицы, а 1.5, . 1.9 до двойки. Но python думает по-другому. Есть два типа округления: арифметическое и банковское. Именно арифметическому округлению вас учили в школе. Python использует как раз-таки банковское округление, его еще называют округлением до ближайшего четного. Приведу еще несколько примеров:

print ( round ( 10.51213 ))
# 11
print ( round ( 23.5 ))
# 24
print ( round ( 22.5 ))
# 22

Примеры решения задач

Есть N оранжевых конфет и K учеников, сколько достанется каждому из них, если разделить их поровну? Сколько конфет останется после дележа?

n = int ( input ( ‘Введите количество конфет: ‘ ))
k = int ( input ( ‘Введите количество учеников: ‘ ))
a = n // k
b = n % k
print ( ‘Каждому по’ , a)
print ( ‘Осталось’ , b)

Даны стороны прямоугольника a и b. Вычислите периметр, площадь и диагональ прямоугольника.

a = int ( input ( ‘Введите a: ‘ ))
b = int ( input ( ‘Введите b: ‘ ))
s = a * b
p = 2 * (a + b)
d = (a * * 2 + b * * 2 ) * * 0.5
print ( ‘Площадь:’ , a)
print ( ‘Периметр:’ , b)
print ( ‘Диагональ:’ , c)

Дано число секунд n на секундомере. Посчитайте прошедших минут и секунд.

n = int ( input ( ‘Введите n: ‘ ))
m = n // 60
s = n % 60
print ( str (m) + ‘:’ + str (s))

Решение задач

1. Дано целое число A. Проверить истинность высказывания: «Число A является четным».

2. Дано целое число A. Проверить истинность высказывания: «Число A является нечетным».

3. Даны два целых числа: A, B. Проверить истинность высказывания: «Числа A и B имеют одинаковую четность».

4. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Хотя бы одно из чисел A, B, C положительное».

5. Дано четырехзначное число. Проверить истинность высказывания: «Данное число читается одинаково слева направо и справа налево».

6. Дано число секунд n на часах. Посчитайте прошедших часов, минут и секунд.

7. Дано натуральное число. Выведите его последнюю цифру.

8. Дано положительное действительное число X. Выведите его дробную часть.

9. Дано положительное действительное число X. Выведите его первую цифру после десятичной точки.

10. Пирожок в столовой стоит a рублей и b копеек. Определите, сколько рублей и копеек нужно заплатить за n пирожков. Программа получает на вход три числа: a, b, n, и должна вывести два числа: стоимость покупки в рублях и копейках.

11. Дано натуральное число. Найдите число десятков в его десятичной записи.

12. Дано двузначное число. Найдите сумму его цифр.

13. Дано трехзначное число. Найдите сумму его цифр.

14. Дано трехзначное число. Проверить истинность высказывания: «Все цифры данного числа различны».

15. Дано трехзначное число. Проверить истинность высказывания: «Цифры данного числа образуют возрастающую или убывающую последовательность».

16. С начала суток прошло N секунд (N — целое). Найти количество часов, минут и секунд на электронных часах.

Источник

Оцените статью