Операторы
В языке программирования Python есть арифметические, логические и операторы сравнения, а также присваивание. Мы с вами уже познакомились с арифметическими операторами (+ - / * ** % //).
Оператор присваивания
Оператор присваивания присваивает значение переменной. Также он может работать совместно с арифметическими операторами.
# Оператор присваивания
a = 7
print(a)
>> 7
А теперь посмотрим на работу вместе с арифметическими операторами. В этом случае одновременно происходит и присвоение и сложение, либо другое действие:
- Сложение и присваивание (+=)
- Вычитание и присваивание (-=)
- Деление и присваивание (/=)
- Умножение и присваивание (*=)
- Деление по модулю и присваивание (%=)
- Возведение в степень и присваивание (**=)
- Деление с остатком и присваивание (//=)
# Сложение и присваивание (+=)
a = 7 # Присвоили 7
print(a)
a += 3 # К 7 + 3 и записали в А
print(a)
>> 7
>> 10
Оператор сравнения
Операторы сравнения могут возвращать всего два результата: True (правда) и False(ложь). И как правило используется в условиях IF
# Меньше <
print(7 < 10) # true
print(10 < 10) # false
print(10 < 5) # false
# Больше >
print(7 > 10) # false
print(10 > 10) # false
print(10 > 5) # true
# Меньше или равно <=
print(7 <= 10) # true
print(10 <= 10) # tue
print(10 <= 5) # false
# Больше или равно >=
print(7 >= 10) # false
print(10 >= 10) # true
print(10 >= 5) # true
# Равно ==
print(7 == 10) # false
print(10 == 10) # true
# Не равно !=
print(7 != 10) # true
print(10 != 10) # false
Совместно с операторами сравнения используются логические операторы, для более детальных и сложных условий. В Python есть всего три оператора: and (и), or (или) и not (не).
- AND - оба условия должны быть TRUE
- OR - одно из условий должно быть TRUE
- NOT - Этот оператор инвертирует True превращается в False и наоборот.
# AND ( И )
print(7 == 7 and 10 > 5) # True
print(7 == 8 and 10 > 5) # False
print(7 == 7 and 10 > 15) # False
print(7 == 8 and 10 > 15) # False
# OR ( ИЛИ )
print(7 == 7 and 10 > 5) # True
print(7 == 8 and 10 > 5) # True
print(7 == 7 and 10 > 15) # True
print(7 == 8 and 10 > 15) # False
# NOT ( НЕТ )
a = True
print(a) # True
a = not (a)
print(a) # False
Операторы принадлежности
Эти операторы проверяют, является ли значение частью последовательности. Последовательность может быть списком, строкой или кортежем. Есть всего два таких оператора: in и not in.
# В списке животных нет значения fox
pets=['dog','cat', 'ferret']
print ('fox' in pets)
# В списке животных есть значение cat
pets=['dog','cat', 'ferret']
print ('cat' in pets)
# В тексте 195637'12'36475 есть значение 12
print ('12' in '1956371236475')
# not in - тоже самое, но наобороот
# В тексте 195637'12'36475 есть значение 12
# Но ответ будет false
print ('12' not in '1956371236475')
ЗАДАЧИ
-
Оба четные.
Проверить являются ли оба числа четными. Пользователь вводит 2 числа, программа вывод true или false в зависимости от результата.
ПОДСКАЗКА
Используй AND и == и % , четность - если число делится на 2 без остатка.Ответ, но попробуй сам
a = 2 b = 10 print(a % 2 == 0 and b % 2 == 0)# Ввод: >> 2 >> 5 # Вывод: >> False # Ввод: >> 2 >> 10 # Вывод: >> True
-
Одно положительное.
Даны три целых числа: A, B, C. Проверить истинность высказывания: “Хотя бы одно из чисел A, B, C положительное”.
ПОДСКАЗКА
используй OR и ># Ввод: >> 0 >> -1 >> -10 # Вывод: >> False # Ввод: >> -1 >> 1 >> 0 # Вывод: >> True
-
Последняя цифра.
Пользователь вводит число, вывести его последнюю цифру.
ПОДСКАЗКА
Последняя цифра - это остаток при делении на 10.# Ввод: >> 2345678 # Вывод: >> 8 # Ввод: >> 19 # Вывод: >> 9
-
Цифры двузначного.
Дано двузначное число.. Найдите сумму его цифр.
ПОДСКАЗКА
25%10=5 25//10=2# Ввод: >> 22 # Вывод: >> 4 # Ввод: >> 99 # Вывод: >> 18
-
Цифры трехзначного.
Дано трехзначное число. Найдите сумму его цифр.
ПОДСКАЗКА
123%10 = 3
((123//10)%10) = 2
123//100 = 1
# Ввод: >>123 # Вывод: >> 6 # Ввод: >> 332 # Вывод: >> 8
-
Разные цифры.
Дано трехзначное число. Проверить истинность высказывания: “Все цифры данного числа различны т.е нет повторяющихся”.
ПОДСКАЗКА
123%10 = 3
((123//10)%10) = 2
123//100 = 1
# Ввод: >> 123 # Вывод: >> True # Ввод: >> 332 # Вывод: >> False
-
Часы (финальный босс).
С начала суток прошло N секунд (N - целое). Найти количество часов, минут и секунд на электронных часах.
Решение, но сначала подумай сам
time = 85001 hour = (time//3600) # целое количество часов minutes = ((time - hour * 3600)//60) # Секунды - часы, целое количество минут sec = time % 60 # сколько осталось секунд print(hour) print(minutes) print(sec)
# Ввод: >> 1000 # Вывод: >> 0 16 40 # Ввод: >> 10000 # Вывод: >> 2 46 40 # Ввод: >> 85001 # Вывод: >> 23 36 41