Рубрики
Без рубрики

Python меньше или равен

Python меньше или равен (оставил

Автор оригинала: Chris.

Python меньше или равен ( оставил оператор <= вправо ) возвращает Правда когда его левый Операнд не превышает правильно операнд. Когда левый Операнд больше правильно Операнд, <= Оператор возвращает Ложь Отказ Например, 2 <= 3 и 2 <= 2 Оценить в Правда , но 3 <= 2 и оценивает Ложь Отказ

Примеры

Давайте рассмотрим пару примеров относительно меньше или равно оператор.

3 меньше или равно 2?

>>> 3 <= 2
False

Как около 2 меньше или равно 3?

>>> 2 <= 3
True

И 2 меньше или равно себе?

>>> 2 <= 2
True

Можете ли вы сравнить коллекции, такие как списки?

>>> [1, 2] <= [99]
True
>>> [1, 2] <= [0]
False
>>> [1, 2] <= [1, 2, 3]
True
>>> [1, 2] <= [1, 1, 3]
False
>>> [1, 2] <= [1, 2]
True

Да!

Список «Меньше или равно« » Оператор итерации по поводу списков и чеки вправо, если i-й элемент левого операнда на большинстве i-й элемента правого операнда (см. Детальное обсуждение ниже).

Можете ли вы использовать меньше или равно Оператор на пользовательских объектах? Да!

Python меньше или равен магическому методу

Чтобы использовать оператора «менее или равна» на пользовательских объектах, вам нужно определить __le __ () Дундер Метод, который занимает два аргумента: Я и Другое Отказ Затем вы можете использовать атрибуты пользовательских объектов, чтобы определить, меньше или равен другому.

В следующем коде вы проверяете, ли человек меньше или равен другому человеку, используя возраст атрибут Как критерий решения:

class Person:
    def __init__(self, age):
        self.age = age

    def __le__(self, other):
        return self.age <= other.age



alice = Person(10)
bob = Person(12)

print(alice <= bob)
# True

print(bob <= alice)
# False

print(bob <= bob)
# True

Потому что Алиса 10 лет, и Боб 12 лет, результат Алиса это Правда и Боб это Ложь Отказ Если вы сравните Боб с собой, результат – Правда Как определено в __le__ магический метод.

Python меньше или равно, если утверждение

Python меньше или равно < = Оператор может использоваться в операторе IF как выражение, чтобы определить, должен ли выполнить ветку IF или нет. Например, состояние x <= 3 Проверяет, если значение переменной х меньше или равно 3, и если оно, то, если ветвь введена.

Следующий код просит пользователя вводить свой возраст, используя вход () функция. Затем он проверяет, если пользовательский ввод, при преобразовании в целое число, используя int () , меньше или равно 17. Если так, он входит в Если ветвь. Если нет, это входит в еще ветвь.

x = int(input('your age: '))

if x <= 17:
    print('you cannot vote')
else:
    print('you can vote')

Вот пример выполнения этого кода, в котором не введен ветвь IF не введена:

your age: 18
you can vote

Вот пример выполнения, где введен ветвь IF:

your age: 13
you cannot vote

Питон меньше или равно цепочкам

Вы можете объединить два «меньше или равных» операторам. Например, выражение 5 проверил ли переменную х составляет от 5 до 18, оба интервальных границы включены. Формально выражение х это лишь сокращение выражения для (x) и (y) Отказ

Вот минимальный пример, который проверяет, является ли переменная х составляет от 5 до 18 лет.

x = 8

# Is x between 5 and 18?
if 5 <= x <= 18:
    print('yes')

# Output: yes

Код входит в ветку IF, потому что это условие, если выполняется.

Python меньше или равно для цикла

Там нет «меньше или равно» условия для использования в для петли Отказ Если вы хотите повторить все элементы в данном Iterable, которые являются меньше или равно Элемент y Создать Отфильтрованный список с Понимание списка такие как [X для X в итерате, если] Отказ Затем вы можете повторять сгенерированный список.

Вот пример, где вы выполняете для цикла для всех элементов списка, которые меньше или равны y = 5 :

elements = [1, 3, 5, 7, 9]
y = 5

for element in [x for x in elements if x<=y]:
    print(element)

Вывод:

1
3
5

Python меньше или равен плаванию

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

x = 1.92 - 1.52
if 0.40 <= x:
   print("Yes!")
else:
   print("No!")

Удивительно для многих кодеров, вывод "Нет!" Отказ Посмотреть здесь для более подробного обсуждения.

Вот решение с Десятичная тип:

from decimal import Decimal

x = Decimal('1.92') - Decimal('1.52')
if Decimal('0.40') <= x:
   print("Yes!")
else:
   print("No!")

Теперь вывод "Да!" так, как это должно быть!

Python меньше или равно спискам

Список «Меньше или равно« » Оператор итерации по поводу списков и проверки попарно, если i-й элемент левого операнда меньше или равен i-й элементу правого операнда.

>>> [1, 2] <= [99]
True
>>> [1, 2] <= [0]
False
>>> [1, 2] <= [1, 2, 3]
True
>>> [1, 2] <= [1, 1, 3]
False
>>> [1, 2] <= [1, 2]
True
  • [1, 2] <= [99] Отказ Python первые чеки 1 который является Правда Так что это сразу возвращает Правда Отказ
  • [1, 2] < = [0] Отказ Python первые чеки 1 который является Ложь Отказ
  • [1, 2] < = [1, 2, 3] Отказ Python сначала сравнивает 1 и 1-я галстук! Итак, он перемещается ко второму элементам 2 и 2-галстук! Итак, он движется к третьим элементам в качестве галстука. Но только второй список имеет третий элемент, поэтому он считается больше, чем первый, и результат операции является Правда Отказ
  • [1, 2] < = [1, 1, 3] Отказ Python сравнивает элементы 1 и 1 – галстук! Но затем он сравнивает второе элементы 2 и 1 и определяет, что первое не менее чем второе, поэтому результат является Ложь Отказ
  • [1, 2] <= [1, 2] Отказ Списки содержат одни и те же элементы, поэтому парапречным сравнением приводит к Правда Отказ

Тот же метод также относится к строкам и другим типам последовательности в Python, таких как кортежи.

Все меньше или равно ничего?

Вы не можете использовать менее или равное оператору с помощью Нет как один из его операндов. Python 3 ожидает, что оба операнда реализуют Сопоставимый интерфейс , но Нет Тип не. Вот почему Python поднимает Типеррор Если вы попытаетесь сравнить переменные с Нет Отказ

>>> 21 <= None
Traceback (most recent call last):
  File "", line 1, in 
    21 <= None
TypeError: '<=' not supported between instances of 'int' and 'NoneType'

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

Сравнение операторов применяются к сопоставимым объектам, и они возвращают логическое значение ( True или false ).

Оператор Имя Описание Пример
> Лучше чем Возвращает true, если левый операнд больше, чем правильный операнд 3 > 2
< Меньше, чем Возвращает true, если левый операнд меньше, чем правильный операнд 3 < 2
== Равно Возвращает true, если левый операнд такой же, как правильный операнд (3)
!= Не равно Возвращает true, если левый операнд не такой, как правильный операнд (3)
>= Больше или равно Возвращает true, если левый операнд больше или равен правой операнду (3)
<= Меньше или равно Возвращает true, если левый операнд меньше или равен правой операнду (3)

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.