• 0

كيف تقوم بعملية xor في البايثون ؟

أريد أن أقوم بعملية منطقية باستخدام العامل XOR بين متغيرين في لغة البايثون، فكيف أستطيع فعل ذلك ؟ جربت ذلك باستخدام العامل ^ لكن لم ينجح الأمر.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك العديد من الطرق للقيام بعملية XOR في البايثون، مثلا يمكنك أن تقوم أولا بجعل المدخلات من نوع boolean ومن ثم استخدام != لأن هذا الرمز هو عامل XOR كما في:

bool(a) != bool(b)

ويمكنك أيضا استخدام تعريف xor لتقوم بإنشائها من العمليات المنطقية الأخرى مثل and و not كما في المثال التالي:

(a and not b) or (not a and b)

لكن يبدو هذا نوعا طويلا، بالإضافة إلى أن قارئ هذه الشيفرة البرمجية لن يفهم ما الذي ستحاول فعله من النظرة الأولى لذلك هنالك طريقة أخرى للقيام بنفس وظيفة السطر السابق وهي هذه الطريقة:

bool(a) ^ bool(b)

كما يمكنك استدعاء دالة xor من مكتبة operator ومن ثم استخدامها كما في:

from operator import xor
xor(bool(a), bool(b))

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن