Возможно, вы использовали множество логических, арифметических операторов и операторов сравнения в математике и программировании во время работы. Одним из часто используемых логических операторов является оператор XOR. Он возвращает результат, прямо противоположный результату оператора OR. В этой статье мы будем использовать оператор XOR для двух значений переменных строкового типа при работе в среде Python. Приведем несколько примеров в системе Ubuntu 20.04.
Пример 1
Давайте рассмотрим самый первый пример, иллюстрирующий работу оператора XOR над двумя значениями строкового типа. Итак, мы попробуем использовать побитовое исключающее OR для двух строковых значений битового типа. Начните с создания нового файла python в оболочке. Используйте ключевое слово touch с именем файла. Вы можете использовать любой редактор, чтобы открыть и создать код в файле. Итак, мы использовали редактор GNU Nano в соответствии с инструкциями, показанными ниже на изображении.
$ touch xor.py $ nano xor.py
После открытия файла мы добавили поддержку python3 вверху. Две переменные строкового типа v1 и v2 инициализированы битовыми значениями. Мы использовали другую переменную для сбора результирующего значения применения XOR к обеим переменным. В этом методе функции zip особенно используются для создания кортежа из обеих строковых переменных.
Метод ord() был применен к каждому байту строки обеих переменных отдельно, чтобы каждый раз принимать по одному байту, и применил XOR с помощью оператора «^» к байтам обеих переменных. Это означает, что XOR был применен к одним и тем же индексам обеих строк одновременно. Вновь сгенерированные значения XOR будут распечатаны в оболочке с помощью новой переменной.
#!/usr/bin/python3 v1 = “100100” v2 = “101010” new = [(ord(a) ^ ord(b)) for a,b in zip(v1, v2)] print(new)
После запуска этого простого кода с пакетом python3 мы получили XOR или обе строки.
$ python3 xor.py
Пример 2
Приведем еще один пример использования тех же функций zip() и ord() для вычисления XOR двух строк с помощью оператора «^» в коде Python. В этом типе мы использовали простые символьные строки вместо байтовых строк в нашем коде. Итак, откройте файл и обновите строковые значения, как показано ниже. Остальной код аналогичен приведенному выше примеру кода.
#!/usr/bin/python3 v1 = “one” v2 = “two” new = [(ord(a) ^ ord(b)) for a,b in zip(v1, v2)] print(new)
После выполнения этого обновленного файла с пакетом поддержки python3 мы получили следующий результат. Результат совершенно иной в случае символьных значений строкового типа. Вы можете видеть, что мы получили XOR строковых символов как некоторых целочисленных значений.
$ python3 xor.py
Пример 3
В этом примере мы будем использовать символы и числа в строковой переменной. Итак, создайте две строковые переменные с символами и числами. Первая строка содержит числа, а другая строковая переменная содержит только символы. Тот же метод используется для вычисления XOR для строковых переменных и их значений в последовательности.
Этот метод принимает все значения обеих строк как символы. Оператор печати отображает XOR обеих переменных в оболочке с вершиной новой переменной. С другой стороны, если вы хотите объединить вычисленные значения XOR обеих переменных, вы можете сделать это, используя функцию join(), как показано. Оператор печати снова используется для отображения объединенного XOR.
#!/usr/bin/python3 v1 = “123” v2 = “abc” new = [chr(ord(a) ^ ord(b)) for a,b in zip(v1, v2)] v3 = “”.join(new) print(new)
При выполнении обновленного кода мы получили результат XOR, как показано ниже.
$ python3 xor.py
Заключение
Эта статья содержит объяснение вычисления XOR двух строковых значений в Python. Для этой цели мы использовали метод итератора с методом zip(), методом ord(), методом join() и оператором «^». Надеемся, это будет вам полезно.