Операторы в Python

Назад в начало

В языке программирования Python есть арифметические, логические и операторы сравнения.

Сложение:

# Cложение
print(10 + 30)

# Вывод
>> 40

Вычитание:

# Вычитание
print(30 - 20)

# Вывод
>> 10

Умножение:

# Умножение
print(2 * 9)

# Вывод
>> 18

Деление:

# Деление
print(100 / 25)

# Вывод
>> 4

Кроме всем знакомой четверки есть и несколько экзотических операторов: взятие остатка от деления, деление нацело, возведение в степень.

Взятие остатка от деления:

# Взятие остатка от деления на 2
print(0 % 2)
print(1 % 2)
print(2 % 2)
print(3 % 2)
print(4 % 2)

# Вывод
>> 0 # 0 % 2
>> 1 # 1 % 2
>> 0 # 2 % 2
>> 1 # 3 % 2
>> 0 # 4 % 2

# Взятие остатка от деления на 3
print(0 % 3)
print(1 % 3)
print(2 % 3)
print(3 % 3)
print(4 % 3)
print(5 % 3)
print(6 % 3)

# Вывод
>> 0 # 0 % 3
>> 1 # 1 % 3
>> 2 # 2 % 3
>> 0 # 3 % 3
>> 1 # 4 % 3
>> 2 # 5 % 3
>> 0 # 6 % 3

Деление нацело:

# Деление нацело на 10
print(91 // 10)
print(85 // 10)
print(16 // 10)
print(8 // 10)

# Вывод
>> 9 # 91 // 10
>> 8 # 85 // 10
>> 1 # 16 // 10
>> 0 # 8 // 10

# Деление нацело на 2
print(14 // 2)
print(15 // 2)
print(7 // 2)
print(6 // 2)

# Вывод
>> 7 # 14 // 2
>> 7 # 15 // 2
>> 3 # 7 // 2
>> 3 # 6 // 2

Возведение в степень:

# Возведение в степень числа 2
print(2 ** 0) # 1
print(2 ** 1) # 2
print(2 ** 2) # 2 * 2
print(2 ** 3) # 2 * 2 * 2
print(2 ** 4) # 2 * 2 * 2 * 2

# Вывод
>> 1
>> 2
>> 4
>> 8
>> 16

Операторы сравнения (╮°-°)╮ могут возвращать всего два результата: True и False.

Оператор равенства == возвращает True, если числа равны, и False в противном случае.

a = 10
b = 10
print(a == b)

# Вывод
>> True

a = 8
b = 7
print(a == b)

# Вывод
>> False

Оператор неравенства != возвращает True, если числа не равны, и False в противном случае.

a = 8
b = 7
print(a != b)

# Вывод
>> True

Оператор больше > возвращает True, если первое число больше второго, и False в противном случае.

a = 8
b = 7
print(a > b)
print(b > a)

# Вывод
>> True # a > b
>> False # b > a

Оператор меньше < возвращает True, если первое число меньше второго, и False в противном случае.

c = 100
d = 200
print(c < d)
print(d < c)

# Вывод
>> True # c < d
>> False # d < c

Оператор меньше или равно <= возвращает True, если первое число меньше второго или равно ему, и False в противном случае.

Оператор больше или равно >= возвращает True, если первое число больше второго или равно ему, и False в противном случае.

c = 200
d = 200
print(c >= d)
print(d <= c)

# Вывод
>> True # c >= d
>> True # d <= c

Иногда требуются выполнение нескольких операторов сравнения сразу. Для таких целей существует оператор and (оператор логического умножения, конъюнкция).

print(10 > 0 and 5 > 0)
print(10 % 2 == 0 and 12 % 2 == 0) # оба числа четные

# Вывод:
>> True
>> True

Если хотя бы один из операторов равен False, то результат оператора будет равен False. Конъюкция истинна в том случае, когда все условия истинны.

print(10 > 100 and 5 > 0 and 10 > 0) # False

# Вывод:
>> False

Логическое сложение (дизъюнкция) или оператор or требует выполнения ХОТЯ БЫ одного условия.

print(10 > 100 or 5 > 100 or 10 > 0) # True
print(1 == 0 or 2 == 0) # False, оба условия ложны

# Вывод:
>> True
>> False

Последний из операторов - это оператор инверсии not. Оператор not изменяет (инвертирует) значение на противоположное.

print(not False) # True
print(not True) # False
print(not 2 == 0) # True

# Вывод:
>> True
>> False
>> True

Оператор not выполняется в приоритете.

print(not 1 == 0 or 2 == 0) # True, значение первого условия инвертировано

# Вывод:
>> True

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

1. Одинаковая четность

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

# Ввод:
>> 0
>> 1
# Вывод:
>> False

# Ввод:
>> 2
>> 10
# Вывод:
>> True

2. Одно положительное

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

# Ввод:
>> 0
>> -1
>> -10
# Вывод:
>> False

# Ввод:
>> -1
>> 1
>> 0
# Вывод:
>> True

3. Последняя цифра

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

# Ввод:
>> 2345678
# Вывод:
>> 8

# Ввод:
>> 19
# Вывод:
>> 9

4. Цифры двузначного

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

# Ввод:
>> 22
# Вывод:
>> 4

# Ввод:
>> 99
# Вывод:
>> 18

5. Цифры трехзначного

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

# Ввод:
>>123
# Вывод:
>> 6

# Ввод:
>> 332
# Вывод:
>> 8

6. Разные цифры

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

# Ввод:
>> 123
# Вывод:
>> True

# Ввод:
>> 332
# Вывод:
>> False

7. Часы (финальный босс)

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

# Ввод:
>> 1000
# Вывод:
>> 0 16 40

# Ввод:
>> 10000
# Вывод:
>> 2 46 40

# Ввод:
>> 85001
# Вывод:
>> 23 36 41