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

Как проверить несколько переменных против значения?

Чтобы проверить несколько переменных x, y, z против значения v, используйте рабочее членство по операции v в {x, y, z}, которые используют в ключевочке «y, y, z), которые включают в себя, если значение v соответствует любому значению в наборе {x, y, z}. Возвращаемое значение – это логическое значение, а сложность выполнения – это O (1), чтобы проверить … Как проверить несколько переменных против значения? Читать далее “

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

Чтобы проверить несколько переменных х , y , z против значения V Используйте заданную операцию членства v в {x, y, z} Это использует в ключевое слово, чтобы проверить, если значение V соответствует любому значению в комплекте {x, y, z} Отказ Возвращаемое значение – это логическое значение, а сложность выполнения – это o (1) для проверки членства и O (n) для создания временного набора.

Причина ошибок

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

x, y, z = 2, 3, 4

print('Test!')

if x or y or z == 1:
    print('We do not want this line of code to be printed out.')

Выход:

Test!
We do not want this line of code to be printed out.

Теперь мы можем быть запутаны и спросить, почему наша программа не работает? В конце концов, не должно быть результатов! Тем не менее, есть, и причина проста, потому что условие соответствует, если хотя бы одно значение – Правда И в нашем коде, даже два условия встречаются, вы можете спросить: как? Они встречаются, потому что когда мы пишем этот путь:

if x or y or z == 1:
    # your code here

Python видит эту линию немного по-другому, чем мы делаем, а именно значение x и y – это не 2 и 3 в этом случае, но верно и верно, поэтому наша программа работает, но не так, как мы хотели бы, чтобы это работало.

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

Упражнение : Запустите оболочку и проверьте, является ли вывод одинаковым для всех четырех способов. Теперь погрузитесь в каждый метод, чтение в статье!

Метод 1: отдельные условия

Исправьте строку, которая проверяет, соответствует ли каждая переменная условия, добавив условие для каждой переменной вручную, в этом случае замените x или y или z на x или y или z.

print('Test!')
if x == 1 or y == 1 or z == 1:
    print('We do not want this line of code to be printed out')

Выход:

Test!

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

Способ 2: Членство

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

print('Test!')
if 1 in (x, y, z):
    print('We do not want this line of code to be printed out')

Выход:

Test!

Это способ, которым требуется меньше места и является быстрее, но если вы хотите проверить, будет ли условие выполнено в большем количестве переменных, то было бы еще лучше использовать набор, потому что набор не позволяет одни и те же значения появиться в нем. Просто измените (…) на {…}.

Метод 3: Словарь

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

x, y, z, mylist = 1, 2, 3, []

if 1 in {x, y, z}:
    mylist.append("A")
if 2 in {x, y, z}:
    mylist.append("X")
if 3 in {x, y, z}:
    mylist.append("E")

Если вы используете словарь, он будет выглядеть так:

x, y, z, mylist = 1, 2, 3, []

numbers_to_letters = {1: "A", 2: "X", 3: "E"}
for number in numbers_to_letters:
    if number in {x, y, z}:
        mylist.append(numbers_to_letters[number])

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

Метод 4: одноклассник

И что, если мы хотим написать однострочное решение? Есть также способ сделать это со списком пониманием! И это выглядит так:

mylist = [{1: 'A', 2: 'X', 3: 'E'}[i] for i in [0, 1, 2, 3] if i in (x, y, z)]

В начале создается список, а затем A для цикла проходит через значения 1, 2, 3 и проверяет, будут ли эти номера равны любую из переменных. Если это так, в зависимости от того, какое значение я представляет, он добавляет букву в список, который можно найти в словаре, например, Если и одна из переменных также равна 1, то буква A добавляется в список под названием MyList и так далее.

Резюме

Мы узнали, почему вы не можете писать такие условия: Если x или y или z А как писать такие условия правильно, а также что делать, если вы хотите добавить, например, буквы, которые соответствуют нашему условию в списке.

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

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

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

Присоединяйтесь к свободному вебинару сейчас!