العمليات الرياضية - الجزء الثاني
جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 34 من 78.
لنواصل استكشاف العمليات الرياضية على المجموعات، مع التركيز على مفاهيم أكثر تقدماً مثل تقاطع مجموعات متعددة والفرق بين مجموعات متعددة.
تقاطع مجموعات متعددة (& أو intersection()): يمكنك العثور على العناصر المشتركة بين مجموعات متعددة باستخدام عامل & أو طريقة intersection() بشكل متكرر أو عن طريق تمرير مجموعات متعددة إلى طريقة intersection().
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5}
intersection_result = set1 & set2 & set3
# أو
intersection_result = set1.intersection(set2, set3)
print(intersection_result)
# المخرجات: {3}الفرق بين مجموعات متعددة (- أو difference()): يمكنك العثور على العناصر الفريدة للمجموعة الأولى مقارنة بمجموعات أخرى متعددة باستخدام عامل - أو طريقة difference(). يتم ذلك عن طريق طرح مجموعات متعددة من المجموعة الأولى.
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6}
set3 = {5, 6, 7}
difference_result = set1 - set2 - set3
# أو
difference_result = set1.difference(set2, set3)
print(difference_result)
# المخرجات: {1, 2, 3}في هذه الأمثلة، نجد أولاً تقاطع ثلاث مجموعات، مما ينتج عنه مجموعة تحتوي فقط على العنصر المشترك بين المجموعات الثلاث جميعها. بعد ذلك، نجد الفرق بين مجموعات متعددة، مما ينتج عنه مجموعة تحتوي فقط على العناصر الفريدة لـ set1 بعد طرح عناصر set2 و set3.
التحدي
سهلتخيل أنك تدير نادياً حصرياً حيث يتم تقسيم الأعضاء إلى مجموعات مختلفة بناءً على اهتماماتهم. تريد معرفة:
- من هم الأعضاء الذين يتشاركون اهتماماً مشتركاً في جميع المجموعات؟
- من هم الأعضاء الفريدون حقاً الذين ينتمون فقط إلى المجموعة الأولى وليس إلى أي مجموعات أخرى؟
اكتب برنامجاً يقوم بما يلي:
- يأخذ ثلاث مجموعات،
group1وgroup2وgroup3، تمثل أعضاء ثلاث مجموعات اهتمام. - يجد ويطبع تقاطع (intersection) المجموعات الثلاث جميعاً (الأعضاء المشتركون في جميع المجموعات).
- يجد ويطبع فرق (difference)
group1عن المجموعتين الأخريين (الأعضاء الموجودون في المجموعة الأولى فقط).
تحقق من حالات الاختبار لمعرفة تنسيق المخرجات النهائي!
ورقة مرجعية
ابحث عن العناصر المشتركة بين مجموعات متعددة باستخدام التقاطع (intersection):
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5}
# باستخدام عامل التشغيل &
intersection_result = set1 & set2 & set3
# باستخدام التابع intersection()
intersection_result = set1.intersection(set2, set3)
ابحث عن العناصر الفريدة في المجموعة الأولى مقارنة بمجموعات أخرى متعددة باستخدام الفرق (difference):
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6}
set3 = {5, 6, 7}
# باستخدام عامل التشغيل -
difference_result = set1 - set2 - set3
# باستخدام التابع difference()
difference_result = set1.difference(set2, set3)
جرّب بنفسك
group1 = eval(input())
group2 = eval(input())
group3 = eval(input())
# اكتب كودك بالأسفل
# اطبع النتائج
print("Members in all groups:", sorted(list(intersection_result)))
print("Unique members in group1:", sorted(list(difference_result)))يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوق