البرمجة

طباعة جميع المصفوفات بقيم معينة في Python

لفهم كيفية طباعة جميع المصفوفات المختلفة التي تحتوي على m قيمة -1 و n-m قيمة 1، يجب أولاً أن نفهم كيفية توليد هذه المصفوفات. لنفترض أن لدينا مثلاً n = 4 و m = 2. لنقم بطباعة جميع الحالات التي تحتوي على 2 قيمة -1 و 2 قيمة 1:

  1. بما أننا نريد طباعة جميع الحالات، يجب علينا النظر في كل الاحتمالات. لنبدأ بإنشاء مصفوفة فارغة بحجم n.

  2. نضع قيمة -1 في أول اثنين من المواقع (من اليسار)، ونضع 1 في الاثنتين الأخيرتين.

  3. ثم، نقوم بتبديل القيم بحيث نحصل على جميع الاحتمالات.

لهذا الغرض، يمكننا استخدام الرمز التالي في Python:

python
from itertools import permutations def print_arrays(n, m): arr = [-1] * m + [1] * (n - m) perms = set(permutations(arr)) for perm in perms: print(list(perm)) n = 4 m = 2 print_arrays(n, m)

هذا الكود ينشئ جميع الاحتمالات الممكنة للمصفوفات التي تحتوي على 2 قيمة -1 و 2 قيمة 1. يتم طباعة هذه الاحتمالات باستخدام حلقة for.

المزيد من المعلومات

لفهم المزيد حول كيفية طباعة جميع المصفوفات التي تحتوي على m قيمة -1 و n-m قيمة 1، يمكننا استكشاف الفكرة بمزيد من التفصيل.

عندما نريد طباعة جميع هذه الحالات، نحتاج إلى استخدام فكرة الاحتمالات المختلفة لتحقيق ذلك. بمعنى آخر، إذا كان لدينا m = 2 و n = 4، فإن لدينا 4 احتمالات مختلفة:

  1. [-1, -1, 1, 1]
  2. [-1, 1, -1, 1]
  3. [-1, 1, 1, -1]
  4. [1, -1, -1, 1]
  5. [1, -1, 1, -1]
  6. [1, 1, -1, -1]

لتوليد هذه الاحتمالات، يمكننا استخدام التكرارات (permutations) والتي تولد جميع الترتيبات المختلفة للعناصر. في كود Python، يمكننا كتابة الشيفرة التالية:

python
from itertools import permutations def print_arrays(n, m): arr = [-1] * m + [1] * (n - m) perms = set(permutations(arr)) for perm in perms: print(list(perm)) n = 4 m = 2 print_arrays(n, m)

هذا الكود يستخدم التكرارات لإنشاء جميع الاحتمالات الممكنة للمصفوفات التي تحتوي على 2 قيمة -1 و 2 قيمة 1. يقوم بطباعة هذه الاحتمالات باستخدام حلقة for.

زر الذهاب إلى الأعلى