Содержание

python — Проверка на соответствие нескольким условиям

Вопрос задан

Изменён 6 лет 1 месяц назад

Просмотрен 12k раз

Каким способом лучше всего сделать проверку на несколько условий? Например здесь:

if (name in line) and (age in line) and (string in text):
    do_something()

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

  • python
  • python-3.x

3

Можно использовать all() для случаев, когда нужно чтобы выполнялись все условия из перечисленных и any(), когда нужно чтобы выполнялось хотя бы одно.

Например, ваш код можно переписать таким образом:

if all([(name in line), (age in line), (string in text)]):
    do_something()

Это можно сделать более удобным, если сначала сформировать массив из условий, а потом передать его в if:

checks = [name in line, age in line]
checks. append(string in text)
if all(checks):
    do_something()

Как видно из этого кода, массив можно формировать постепенно, добавляя условия в разных местах кода, что может быть полезно, когда нужно формировать список условий динамически в зависимости от разных внешних факторов.

Кроме того, в функциях иногда просто проверяют каждое условие отдельным if, а если условие не проходит(или наоборот проходит — в зависимости от задачи), то прерывают дальнейшее выполнение через return:

def foo():
  if not(name in line):
    return False
  if not(age in line):
    return False
  if not(string in text):
    return False
  return True

5

Вопрос очень уж,общий. Все,собственно,зависит от задачи, к примеру, если у вас нужно проверить гипотезу Сиракуз, то вы применяете цикл for,и операторы ifилиelseилиelif. Если задача требует ветвлений в алгоритме, то просто логические операторы, если многочисленной проверки условий то используйте циклы.

1

text = '''1234\n567890'''
line = '567890'
keys = name, age, string = '5', '6', '78'
# чем больше ключей в keys, тем длиннее запись условия ...and...
if (name in line) and (age in line) and (string in line):
    print(1)
# теперь длина условия не зависит от кол-ва keys
check1 = [k in line for k in keys]
if all(check1):  # all для ...and... | any для ...or...
    print(2)
# несколько разных условий можно объединить с помощью chain
from itertools import chain
check2 = string in text, line+age not in text
if all(chain(check1, check2)):
    print(3)
# или так
if all(chain((k in line for k in keys), (string in text, line+age not in text))):
    print(4)
# если условие сложное, его можно вынести в отдельную функцию
def checker(key):
    return key in line or True  # "сложное" условие
# а при проверке использовать map
if all(map(checker, keys)):
    print(5)

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

python — Как объединить несколько условий в одно в питоне?

Работаю с API Vk и хочу упросить код.

Так как таких условий у меня может быть 10ки, а заполнять этим весь код не хочется. Есть ли способ сокращения?

Вот код:

def safe_file(posts):
    with open('test.csv', 'w', newline='', encoding='utf-8') as file:
        title = csv.writer(file, delimiter=';')
        title. writerow(['text', 'image', 'url'])
        for post in posts:
            try:
                if post ['id']:
                    i = post ['id']
                else:
                    i = 'pass'
                if post ['text']:
                    text = post ['text']
                else:
                    text = 'pass'
                if post ['attachments'][0]['photo']['sizes'][-1]['url']:
                    img = post ['attachments'][0]['photo']['sizes'][-1]['url']
                else:
                    img = 'pass'
            except:
                pass
                img = 'pass'
            title.writerow((text, i, img))

Мне нужно упростить эту часть кода:

for post in posts:
            try:
                if post ['id']:
                    i = post ['id']
                else:
                    i = 'pass'
                if post ['text']:
                    text = post ['text']
                else:
                    text = 'pass'
                if post ['attachments'][0]['photo']['sizes'][-1]['url']:
                    img = post ['attachments'][0]['photo']['sizes'][-1]['url']
                else:
                    img = 'pass'
            except:
                pass
                img = 'pass'
  • python
  • vkontakte-api
  • if

1

Я бы предложил вариант с дефолтом так назовем это

def try_extract_image_url(post):
    try:
        return post['attachments'][0]['photo']['sizes'][-1]['url']
    except (KeyError, IndexError) as e:
        return None
for post in posts:
    id = post['id'] or 'pass'
    text = post['text'] or 'pass'
    img = try_extract_image_url(post) or 'pass'

Можно еще над этим поработать и придумать что то получше например заменить ‘pass’ на что то более специфичное что бы дальше по коду это было проще фильтровать и обрабатывать. Например завести специальный объект для этого.

Для начала, можно условный оператор

if post ['id']:
    i = post ['id']
else:
    i = 'pass'

Записать короче с помощью условного выыражения:

i = post['id'] if post['id'] else 'pass'

После этого я бы сделал функцию, выполняющую все три присваивания:

def con_ass(post):
    i = post['id'] if post['id'] else 'pass'
    text = ...
    img = ...
    reurn i,text,img
    

А в программе бы тогда эти присвоения выглядели бы как-то так:

i,text,img = con_ass(post)

Мне кажется — достаточно компактно и обозримо.

Исправленный код:

for post in posts:
            try:
                if post ['id']:
                    i = post ['id']
                elif: post ['text']:
                    text = post ['text']
                elif: post ['attachments'][0]['photo']['sizes'][-1]['url']:
                    img = post ['attachments'][0]['photo']['sizes'][-1]['url']
                else:
                    img = 'pass'
            except:
                pass
                img = 'pass'

3

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Python Операторы if-else с несколькими условиями • datagy

Условные операторы или операторы if-else позволяют вам управлять потоком вашего кода. Понимание возможностей операторов if-else позволит вам стать более сильным программистом на Python. Это потому, что они позволяют вам выполнять только определенные части вашего кода, если выполняется условие или несколько условий. В этом руководстве вы узнаете, как использовать операторы Python if-else с несколькими условиями .

К концу этого руководства вы узнаете:

  • Как использовать операторы Python if-else с несколькими условиями
  • Как проверить, все ли условия выполнены в операторах if-else Python
  • Как проверить в Python выполняются только некоторые условия операторы if-else
  • Как писать сложные операторы if-else с несколькими условиями в Python

Содержание

Понимание операторов if-else Python

Одним из преимуществ Python является то, как очистить синтаксис. Это также верно для операторов if-else, которые следуют простому английскому синтаксису, чтобы управлять потоком вашей программы.

Операторы Python if-else позволяют запускать код, если выполняется условие. Они следуют синтаксису, показанному ниже:

 # Понимание операторов Python if-else
если условие:
   # запустить код
еще:
   # запустить другой код 

Чтобы лучше понять, как Python обрабатывает несколько условий, важно понять, как работают логические операторы. Давайте посмотрим на это дальше.

Понимание логических операторов в Python

Хотя Python предоставляет гораздо больше операторов сравнения, в этом руководстве мы сосредоточимся на двух: и и или . Эти операторы сравнения позволяют нам связать несколько условий, используя логические операторы. Чтобы разбить это:

  • и гарантирует, что оба условия выполнены, в противном случае возвращается False
  • или гарантирует, что хотя бы одно условие должно быть истинным, в противном случае возвращается False

Теперь, когда мы рассмотрели некоторые основы, давайте углубимся в то, как использовать несколько условий в операторах Python if-else.

Использование нескольких условий в операторах if-else Python

В операторах if-else Python мы можем использовать несколько условий, которые можно использовать с логическими операторами и и или . Давайте посмотрим, как мы можем записать несколько условий в оператор if-else Python:

 # Использование нескольких условий в Python if-else
знач1 = 2
знач2 = 10
если знач1 % 2 == 0 и знач2 % 5 == 0:
    print("Делится на 2 и 5.")
еще:
    print("Не делится ни на 2, ни на 5.")
# Возвращает: делится на 2 и 5. 

Мы видим, что первое условие использует логические операторы и для проверки истинности обоих условий. Если это не выполняется, выполняется блок else . Давайте углубимся в то, как эти операторы работают в действии.

Проверка истинности нескольких условий в операторах if-else Python

Мы можем использовать операторы if-else Python для проверки всех условий с помощью одного или нескольких операторов и . Это позволяет нам проверить, что каждое условие истинно. Если одно условие не выполняется, оператор потока переходит к следующему условию.

Давайте посмотрим, как мы можем проверить, верны ли несколько условий в Python:

 # Проверка истинности нескольких условий в операторах Python if-else
возраст = 32
если возраст >= 0 и возраст < 20:
    группа = "0-19"
Элиф возраст >= 20 и возраст < 30:
    группа = "20-29"
еще:
    группа = "30+"
print(f'Человек в группе: {группа}')
# Возвращает: Person is in group: 30+ 

Давайте разберем, что делает приведенный выше блок кода:

  1. Переменная age определена со значением 32
  2. Оператор if-else сначала проверяет, равен ли возраст 0 или старше и меньше 20. Если одно из этих значений неверно, проверяется следующий блок.
  3. Оператор elif проверяет, находится ли возраст между 20 и 30 годами. Если это не так, выполняется блок else

С условиями и Python будет проверять каждый элемент последовательно. Если одно условие не выполняется, Python не нужно будет проверять остальные и переходить к следующему блоку.

На самом деле это то же самое, что и запуск функции all() в блоке, который будет проверять, все ли элементы, переданные в функцию, являются истинными. Мы могли бы переписать приведенный выше оператор if-else, используя функцию all() , как показано ниже:

 # Проверка истинности нескольких условий в операторах Python if-else
возраст = 32
если все([возраст >= 0, возраст <20]):
    группа = "0-19"
Элиф все([возраст >= 20, возраст <30]):
    группа = "20-29"
еще:
    группа = "30+"
print(f'Человек в группе: {группа}')
# Возвращает: Человек в группе: 30+ 

Проверка истинности некоторых условий в операторах Python if-else

Оператор Python или может использоваться для проверки истинности только одного условия. Это может позволить вам писать программы, которые могут, например, проверять, является ли будний день выходным днем ​​или нет. Это может позволить нам проверить, соответствует ли переданное значение условию или . Давайте посмотрим, как это выглядит:

 # Проверка истинности некоторых условий в операторах Python if-else
будний день = 'пятница'
если день недели == 'Суббота' или день недели == 'Воскресенье':
    print("Ура! Выходные!")
еще:
    print("Пора на работу.")
# Возвращает: Пора идти на работу. 

В приведенном выше блоке кода мы написали блок if-else, который проверяет, является ли день недели или субботой или воскресеньем. Если ни одно из этих условий не является истинным, выполняется блок else .

На самом деле это то же самое, что и использование функции Python any() , которая проверяет, является ли какой-либо из переданных элементов истинным. Давайте посмотрим, как мы можем переписать наш блок if-else, используя функцию any() :

 # Проверка истинности некоторых условий в операторах Python if-else
будний день = 'пятница'
если есть ([день недели == 'суббота', день недели == 'воскресенье']):
    print("Ура! Выходные!")
еще:
    print("Пора на работу. ")
# Возвращает: Пора идти на работу. 

В следующем разделе вы узнаете, как писать сложные операторы if-else, творчески сочетающие , и или .

Написание сложных операторов if-else с несколькими условиями

Мы можем написать сложные операторы if-else с несколькими условиями, которые комбинируются с использованием операторов и и или . Это может быть очень полезно, когда вы пишете сложный условный код, который допускает, чтобы одни условия были истинными, а другие выполнялись.

Давайте рассмотрим пример того, как это работает:

 # Написание сложных операторов if-else с несколькими условиями
возраст = 67
активный = Истина
если (возраст <= 18 или возраст >= 65) и активно:
    print("Скидка действует.")
еще:
    print("Без скидки.")
# Возврат: применяется скидка. 

В приведенном выше блоке кода оператор или заключен в скобки. Это означает, что это условие или применимо только к коду в скобках. После этого Python проверит, активен ли пользователь.

Давайте посмотрим, как выглядит этот условный поток:

  1. Поскольку возраст равен 67 годам, код в скобках будет оцениваться как True , так как он соответствует условию age >= 65 .
  2. Затем Python проверяет, активен ли пользователь, что также оценивается как True

Делая это, Python позволяет писать сложные условия. Комбинируя операторы и и или , вы можете писать операторы if-else без вложенных условий.

Заключение

Из этого руководства вы узнали, как писать сложные операторы if-else с несколькими условиями. Операторы Python if-else позволяют вам контролировать поток вашего кода. Используя несколько условий, вы можете написать более сложный код.

Сначала вы научились проверять, выполняются ли все условия, используя операторы и . Затем вы узнали, как проверить, выполняются ли какие-либо условия, используя оператор или . Наконец, вы научились писать сложные операторы if-else, комбинируя и и или .

Дополнительные ресурсы

Чтобы узнать больше по связанным темам, ознакомьтесь с руководствами ниже:

  • NumPy где: Условная обработка элементов массива
  • Python While Loop с несколькими условиями
  • Python операторы if-else: Официальная документация
  • 7 Операторы Python if с несколькими условиями (и + или) · Kodify

    Простой оператор Python if проверяет только одно условие. Затем это условие определяет, работает ли наш код ( Верно ) или нет ( Ложь ). Если мы хотим оценить более сложные сценарии, наш код должен тестировать несколько условий вместе. Давайте посмотрим, как мы закодируем это на Python.

    В ЭТОЙ СТАТЬЕ:

    Для проверки нескольких условий в предложении if или elif мы используем так называемые логические операторы. Эти операторы объединяют несколько значений true/false в окончательный результат True или False (Sweigart, 2015). Этот результат говорит о том, как сочетаются наши условия, и это определяет, выполняется ли наш оператор if или нет.

    Мы оцениваем множественные условия с помощью двух логических операторов (Lutz, 2013; Python Docs, n.d.):

    • Оператор и возвращает True , когда его левое и правое условие также равно True . Когда одно или оба условия равны False , результат и также будет False .
    • Оператор или возвращает True , когда его левое, правое или оба условия равны True . Единственный раз, когда или возвращает False , когда оба условия равны False .

    Не волнуйтесь, если это звучит абстрактно или расплывчато; приведенные ниже примеры делают это более практичным. Кстати, давайте посмотрим на эти примеры.

    Когда для оператора if одновременно требуется несколько условий True , мы объединяем эти различные условия вместе с операторами и . Такое комбинированное условие становится False , как только одно условие проверяет Ложь . Давайте посмотрим на некоторые примеры.

    # Если выражение требует двух условий

    True

    Таким образом, когда мы комбинируем условия с и , оба должны быть True одновременно. Вот пример оператора if:

     # Текущая температура
    текущая температура = 30,2
    # Экстремальные температуры (в градусах Цельсия)
    tempHigh = 40,7
    Низкая температура = -18,9
    # Сравните текущую температуру с экстремальными значениями
    если currentTemp > tempLow и currentTemp < tempHigh:
        print('Текущая температура (' + str(currentTemp) +
              ') находится между верхним и нижним крайними значениями.') 

    Сначала мы делаем currentTemp переменной с текущей температурой. Затем мы создаем две другие переменные, tempHigh и tempLow . Это рекорды за все время для конкретной метеостанции.

    Теперь мы хотим узнать, находится ли текущая температура между этими крайними значениями. Итак, у нас есть оператор if, проверяющий два условия. Первый проверяет, выше ли температура рекордно низкого уровня ( currentTemp > tempLow ). Другой смотрит, не упала ли температура ниже рекордно высокой ( currentTemp < tempHigh ).

    Мы объединяем эти условия с оператором и . Это заставляет наш оператор if выполняться только тогда, когда оба значения равны True . Поскольку они есть, этот код выполняется, и print() отображает следующее:

     Текущая температура (30.2) находится между верхним и нижним крайними значениями.
     

    # Оператор If, требующий нескольких условий

    True

    Операторы и могут комбинировать любое количество условий. Потому что каждое условие мы добавляем с и ищут конкретную вещь, наш оператор if может работать в очень специфических ситуациях.

    Предположим, что ресторан быстрого питания предлагает клиентам 4 дополнительные услуги к каждому заказу. Если наш код должен проверять, заказал ли кто-то все четыре дополнения, мы делаем:

     # Проверяем, какие дополнения заказал клиент.
    диетическая кола = правда
    картофель фри = правда
    встряхнуть = ложь
    экстраБургер = Истина
    если диетическая кола и картофель фри и коктейль и дополнительный бургер:
        print("Клиент хочет:")
        print("- Диета вместо обычной колы")
        print("- Дополнительный картофель фри")
        print("- молочный коктейль")
        print("- Лишний бургер")
    еще:
        print("Клиент не хочет диетическую колу, " +
              "дополнительный картофель фри, молочный коктейль *и* дополнительный бургер") 

    Сначала мы создаем четыре истинные/ложные переменные ( диетическая кола , картофель фри , коктейль и экстрабургер ). Они представляют, какие дополнительные услуги хочет клиент.

    Затем мы кодируем оператор if/else. Чтобы код if заработал, четыре условия должны быть True одновременно. Это потому, что мы соединяем все четыре истинные/ложные переменные с операторами и . К сожалению, один из них — False : Shake , так как клиент не хотел молочный коктейль.

    Это также делает все проверенное условие Ложным . Таким образом, код if не запускается, а код else выполняет . Там функция print() говорит, что клиенту не нужны все четыре добавки:

     Клиенту не нужны диетическая кола, дополнительная картошка фри, молочный коктейль *и* дополнительный бургер.
     

    Другим вариантом является оператор или . Когда мы комбинируем условия с этим оператором, только одно должно быть True чтобы получить всю комбинацию True . Только когда каждое условие равно False , наш оператор if также проверяет False . Давайте посмотрим на некоторые примеры этого.

    # If оператор, которому требуется только одно из двух условий

    Таким образом, когда мы комбинируем условия с или , только одно из них должно быть True . Вот как мы можем использовать это поведение с оператором if:

     # Текущая температура
    текущая температура = 40,7
    # Экстремальные температуры (в градусах Цельсия)
    tempHigh = 40,7
    Низкая температура = -18,9# Сравните текущую температуру с экстремальными значениями
    если currentTemp > tempLow или currentTemp < tempHigh:
        print('Температура (' + str(currentTemp) +
              ') выше рекордно низкого уровня или ' +
              «ниже рекордно высокого уровня».)
    еще:
        print("Новый рекорд температуры!") 

    Сначала создадим три переменные. currentTemp имеет текущее показание температуры; tempHigh и tempLow содержат экстремальные значения метеостанции за все время.

    Оператор if/else затем сравнивает текущую температуру с этими экстремальными значениями. , если часть проверяет два условия. Сначала мы видим, превышает ли текущая температура исторический минимум ( currentTemp > tempLow ). Затем мы проверяем, не ниже ли температура самого высокого значения ( currentTemp < tempHigh ).

    Так как мы объединяем эти два условия с помощью оператора или , только один должен проверить True , прежде чем Python запустит код if . Поскольку текущая температура выше минимальной (но не ниже максимальной), все наше условие выполняет тест 9.0033 True благодаря или .

    Таким образом, выполняется код if . Там функция print() говорит, что текущая температура либо выше самого холодного, либо самого горячего рекорда:

     Температура (40,7) выше рекордно низкого или ниже рекордно высокого уровня.
     

    # Если оператору требуется одно условие

    True среди нескольких

    С оператором или мы можем комбинировать столько условий, сколько необходимо. Когда мы это сделаем, нам все еще нужен только один True Условие, чтобы вся комбинация True также. Обычно это означает, что чем больше условий мы комбинируем с или , тем выше вероятность того, что все условие верно .

    Вот пример программы, которая тестирует несколько условий или :

     # Проверьте, какие дополнительные услуги заказал клиент.
    без соли = Истина
    диетическая кола = ложь
    картофель фри = Ложь
    встряхнуть = ложь
    # Обработка заказа клиента
    если нетСоль или диетаКола или картофель фри или коктейль:
        print("Дополнительно к заказу:")
        print("Без соли:\t\t", noSalt)
        print("Диетическая кола:\t\t", диетическая кола)
        print("Картофель фри:\t", картофель фри)
        print("Молочный коктейль:\t\t", встряхнуть)
    еще:
        print("Для этого заказа дополнительные услуги не требуются. Пожалуйста, продолжайте." 

    Эта программа обрабатывает заказы клиентов в ресторане быстрого питания. Сначала мы создаем четыре переменные ( noSalt , dietCoke , fries и Shake ). Каждый получает True или False в зависимости от того, что заказал клиент.

    Затем мы обрабатываем этот заказ оператором if/else. Часть if объединяет четыре переменные с оператором или в одно условие. Таким образом, всего одной переменной True достаточно, чтобы сделать , если запущен код . И действительно, одна переменная ( noSalt ) действительно имеет значение True .

    Несмотря на то, что все остальные переменные имеют значение False , одной переменной True достаточно для запуска кода if . Там print() отображает то, что клиент заказал, выводя значение каждой переменной:

     Дополнительные опции для заказа:
    Без соли: правда
    Диетическая кола: ложь
    Картофель фри: Ложь
    Молочный коктейль: Ложь
     

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

    Когда мы кодируем сложные условия, рекомендуется использовать круглые скобки ( ( и ) ). Иногда от них требуется изменить порядок операций Python. А иногда они просто делают код более понятным.

    Давайте посмотрим, как совместить условия с и и или выглядит. Вот быстрый пример:

     условие = (A и B) или C
     

    Это комбинированное условие проверяет True в одном из двух сценариев:

    • Когда комбинация A и B равна True .
    • Или когда C равно True .

    Если и первое, и второе условие имеют значение False , то эта комбинация также имеет значение False .

    Вот еще пример:

     условие = (A или B) и C
     

    Эта комбинация Истинно , когда два события происходят одновременно:

    • Либо А , либо В равно Истинно .
    • И С тесты Истина .

    Когда A и B объединяются в False , а C равно False , тогда комбинированное условие также равно False . Теперь давайте рассмотрим некоторые примеры программ на Python, чтобы узнать больше.

    # Пример: оператор if с условиями

    и + или

    Допустим, наша программа обрабатывает заказы в ресторане быстрого питания. Чтобы назначить нужного сотрудника для заказа, мы должны знать, хочет ли клиент дополнительный напиток или еду. Мы оцениваем это с помощью оператора if/else:

     # Проверьте дополнительные услуги, заказанные клиентом. 
    диетическая кола = ложь
    встряхнуть = правда
    картофель фри = правда
    бургер = правда
    # Оценить заказ клиента
    если (диетическая кола или коктейль) и (картошка фри или бургер):
        print("Клиент хочет еще выпить " +
              "(диетическая кола и/или коктейль) и дополнительная еда" +
              "(картофель фри и/или бургер)")
    еще:
        print("Клиент не хочет " +
              "дополнительный напиток *и* дополнительная еда") 

    Сначала мы создаем четыре переменные: диетическая кола , коктейль , картофель фри и бургер . Каждый указывает, хочет ли клиент это конкретное дополнение ( True ) или нет ( False ).

    Затем мы обрабатываем заказ оператором if/else. Там мы оцениваем две группы условий, объединенных и . Это означает, что обе группы должны иметь значение True до запуска кода if .

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

    Теперь для второй группы. Здесь мы видим, заказал ли клиент дополнительную картошку фри или бургер ( фри или бургер ). Мы снова используем оператор или , поэтому одного значения True достаточно, чтобы сделать эту группу 9.0033 Верно . (Поскольку обе группы равны True , результатом будет также True .)

    Поскольку левая группа и правая группа являются True , объединение их с и также дает значение True . Итак, запускается код , если . Там функция print() сообщает, какие дополнительные услуги хочет клиент:

     Клиент хочет дополнительный напиток (диетическая кола и/или коктейль) и дополнительную еду (картофель фри и/или бургер). 
     

    Обратите внимание, что мы не очень точно знаем, чего хочет клиент. Поскольку код , если может быть вызван несколькими ситуациями, мы не можем сказать, что заставило этот код работать. Это следствие оператора или .

    В целом, чем больше условий вы комбинируете с или , тем менее точно вы можете быть уверены в том, что вызвало запуск кода.

    Помимо тестирования нескольких сценариев, существуют и другие способы кодирования условий if:

    • При сравнении значений с операторами if мы изучаем, как мы кодируем сценарии больше и меньше, чем.
    • В логическом отрицании с операторами if мы обсуждаем, как код может проверить, не произошла ли конкретная ситуация .
    • И в тестах членства оператора if у нас есть оператор in , проверяющий, присутствует ли какое-то значение в другом значении.

    Дополнительные сведения об операторах if в Python см. в категории операторов if.

    # Резюме

    Для оценки сложных сценариев мы объединяем несколько условий в одном операторе if. В Python для этого есть два логических оператора.

    Оператор и возвращает True , когда условие слева от него и справа равно True . Если один или оба являются False , то их комбинация также будет False . Это программирует строгие сценарии: только когда несколько условий равны True одновременно, будет выполняться наш оператор if.

    Оператор или отличается. Этот возвращает True , когда его левое и/или правое условие равно Верно . Только с обоими False комбинация или также возвращает False . Это делает наш оператор if более гибким: теперь одного значения True достаточно для запуска его кода.

    Для сложных сценариев мы комбинируем операторы и и или .