اذهب إلى المحتوى
  • 0

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

TheProgrammer

السؤال

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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))

المصدر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...