بايثون هي لغة برمجة قوية تحتوي على مجموعة كبيرة من الأدوات للعمل مع البيانات والمصفوفات. واحدة من المهام الرئيسية التي يمكن مواجهتها في العمل مع المصفوفات هي دورانها. في هذه المقالة ، سننظر في كيفية استخدام بايثون لتدوير مصفوفة بمقدار 90 درجة.
يمكن أن يكون تدوير المصفوفة بمقدار 90 درجة مفيدا ، على سبيل المثال ، في معالجة الصور ، وكذلك في حل المشكلات المختلفة في مجال رؤية الكمبيوتر أو تحليل البيانات. هناك عدة طرق لحل هذه المشكلة في بايثون ، لكل منها مزاياها وعيوبها.
في هذه المقالة ، سننظر في نهجين رئيسيين لتدوير المصفوفة بمقدار 90 درجة. ويستند النهج الأول على استخدام المدمج في وظيفة الرمز البريدي ، والثاني يعتمد على استخدام مكتبة نومبي. دعونا ننظر إلى كل واحد منهم بمزيد من التفصيل لتحديد الطريقة الأكثر فعالية وملاءمة.
- التحضير لتدوير المصفوفة
- تثبيت المكتبات اللازمة
- إنشاء وملء المصفوفة الأصلية
- إخراج المصفوفة الأصلية
- عملية تدوير المصفوفة بمقدار 90 درجة
- الناتج من المصفوفة الناتجة
- سؤال وجواب
- كيف يمكنني تدوير المصفوفة 90 درجة إلى اليمين?
- كيف يمكنني تدوير المصفوفة 90 درجة إلى اليسار?
- كيف يمكنني تدوير المصفوفة 180 درجات?
- هل يمكنني تدوير المصفوفة بعدد عشوائي من الدرجات?
- هل يمكنني تدوير مصفوفة ممثلة كقائمة من القوائم?
- ما المكتبات يمكن أن تساعدك على تدوير المصفوفة في بيثون?
التحضير لتدوير المصفوفة
قبل البدء في تدوير المصفوفة بمقدار 90 درجة في بايثون ، تحتاج إلى إكمال بعض الخطوات التحضيرية.
الخطوة 1:
إنشاء مصفوفة. المصفوفة عبارة عن مصفوفة ثنائية الأبعاد تتكون من صفوف وأعمدة. تمثل كل قيمة في المصفوفة عنصرا منفصلا. على سبيل المثال ، ستبدو مصفوفة 3 3 3 كما يلي:
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
استخدم أي قيم في المصفوفة الخاصة بك ، اعتمادا على متطلبات المهمة.
الخطوة 2:
لتحديد عدد الأعمدة. على سبيل المثال ، بالنسبة لمصفوفة 3 3 3 ، سيكون البعد كما يلي: 3 صفوف ، 3 أعمدة.
الخطوة 3:
تطوير خوارزمية لتدوير المصفوفة. هناك عدة طرق لتدوير المصفوفة بمقدار 90 درجة ، بما في ذلك عن طريق إعادة ترتيب العناصر أو عن طريق إنشاء مصفوفة جديدة ونسخ العناصر من المصفوفة الأصلية. اختر الطريقة المناسبة اعتمادا على متطلبات مهمتك. في هذه المقالة ، سنلقي نظرة على الخوارزمية لإنشاء مصفوفة جديدة.
الخطوة 4:
كتابة رمز بيثون تنفيذ خوارزمية دوران المصفوفة المحددة. يجب أن تأخذ التعليمات البرمجية المصفوفة الأصلية كمدخل وتعيد المصفوفة التي تم تدويرها. بالإضافة إلى ذلك ، يمكنك إضافة التحقق من صحة البعد المصفوفة ومعالجة الأخطاء.
بعد الانتهاء من هذه الخطوات التحضيرية ، ستكون جاهزا لتدوير المصفوفة 90 درجة في بايثون.
تثبيت المكتبات اللازمة
قبل البدء في استخدام بايثون لتدوير المصفوفة بمقدار 90 درجة ، تحتاج إلى تثبيت المكتبات اللازمة:
- نومبي هي مكتبة للحوسبة العلمية ، بما في ذلك دعم المصفوفات والمصفوفات متعددة الأبعاد. يمكنك تثبيت نومبي باستخدام الأمر:
بيب تثبيت نومبي- الباندا هي مكتبة لتحليل البيانات ومعالجتها. يمكنك تثبيت الباندا باستخدام الأمر:
نقطة تثبيت الباندا- أوبينكف هي مكتبة رؤية الكمبيوتر. يمكنك تثبيت أوبينكف باستخدام الأمر:
بيب تثبيت أوبينكف-بيثونبعد تثبيت جميع المكتبات الضرورية ، يمكنك البدء في كتابة التعليمات البرمجية لتدوير المصفوفة بمقدار 90 درجة.
إنشاء وملء المصفوفة الأصلية
لإنشاء وملء المصفوفة الأصلية في بيثون ، يمكننا استخدام هياكل البيانات المضمنة مثل قائمة أو صفيف ثنائي الأبعاد (نومبي.صفيف).
هنا مثال على إنشاء وملء مصفوفة 3 3 3 باستخدام قائمة:
مصفوفة = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
هنا ، تمثل كل قائمة متداخلة صفا واحدا من المصفوفة ، وتمثل عناصر القائمة قيم خلايا المصفوفة.
يمكننا أيضا استخدام الحلقات المتداخلة لملء المصفوفة يدويا:
مصفوفة = []
لأني في النطاق (3):
الصف = []
ل ي في النطاق (3):
القيمة = كثافة العمليات (الإدخال (و "أدخل قيمة الخلية ({أنا+1} ، {ي+1}):"))
صف.إلحاق (قيمة)
مصفوفة.إلحاق (صف)
في هذا المثال ، نقوم أولا بإنشاء قائمة مصفوفة فارغة. ثم نستخدم الحلقات لإدخال قيم لكل خلية من المصفوفة باستخدام وظيفة الإدخال (). تتم إضافة القيم إلى قائمة الصفوف المؤقتة ، والتي تتم إضافتها بعد ذلك إلى قائمة المصفوفة الرئيسية بعد ملء جميع الخلايا في الصف.
لإنشاء وملء مصفوفة باستخدام نمباي ثنائي الأبعاد.صفيف صفيف ، سوف تحتاج إلى تثبيت مكتبة نومبي ، إذا لم يكن مثبتا بالفعل.
استيراد نومبي كما نب
مصفوفة = نب.صفيف([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
في هذا المثال ، نقوم أولا باستيراد مكتبة نومبي باستخدام عبارة الاستيراد. ثم نقوم بإنشاء مصفوفة باستخدام نب.صفيف () وتمرير قائمة قوائم قيم المصفوفة.
إخراج المصفوفة الأصلية
قبل أن نبدأ في تدوير المصفوفة ، نحتاج إلى عرض المصفوفة الأصلية على الشاشة. المصفوفة الأصلية هي جدول أرقام مرتبة في صفوف وأعمدة.
على سبيل المثال ، لنأخذ المصفوفة التالية:
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
في هذا المثال ، يتم تمثيل المصفوفة بأرقام من 1 إلى 9 ، مقسمة إلى ثلاثة صفوف وثلاثة أعمدة.
إخراج المصفوفة الأصلية:
1 2 3
4 5 6
7 8 9
وهكذا ، حصلنا على مصفوفة حيث يتم تمثيل كل رقم في خلية منفصلة من الجدول. هذه هي المصفوفة الأصلية ، والتي سنقوم بتدويرها بمقدار 90 درجة.
عملية تدوير المصفوفة بمقدار 90 درجة
يعد تدوير المصفوفة بمقدار 90 درجة في البرمجة أحد أكثر المهام شيوعا. يمكن أن تكون هذه العملية مفيدة عند العمل مع الصور ومعالجة البيانات والمواقف الأخرى التي يكون من الضروري فيها تغيير اتجاه المصفوفة.
يمكن استخدام طرق مختلفة لتدوير المصفوفة بمقدار 90 درجة في بايثون. واحدة من أسهل الطرق هي استخدام وظيفة الرمز البريدي المدمجة ، والتي تسمح لك بتحويل صفوف المصفوفة إلى أعمدة.
يعتمد هذا النهج على تبديل المصفوفة ، حيث تصبح الصفوف أعمدة والعكس صحيح. بعد ذلك ، يمكنك عكس ترتيب العناصر في كل عمود للحصول على مصفوفة استدارة 90 درجة.
هنا مثال على رمز بايثون الذي ينفذ هذا النهج:
ديف روتاتي_ماتريكس (مصفوفة):
روتاتد_المصفوفة = []
للصف في الرمز البريدي (*مصفوفة):
مصفوفة دوارة.إلحاق (قائمة (صف) [:: -1])
عودة روتاتد_ماتريكس
مصفوفة = [[1 ، 2 ، 3],
[4, 5, 6],
[7, 8, 9]]
مصفوفة دوارة = مصفوفة دوارة(مصفوفة)
طباعة (مصفوفة دوارة)
نتيجة لتنفيذ هذا الرمز ، سيتم إخراج المصفوفة الدوارة التالية:
[[7, 4, 1],
[8, 5, 2],
[9, 6, 3]]
إرجاع مكرر ، وليس مصفوفة جديدة. إذا كنت تريد ترك المصفوفة الأصلية دون تغيير ، فيجب عليك إنشاء نسخة من المصفوفة قبل إجراء التدوير.
وعكس ترتيب العناصر في كل عمود. الآن يمكنك استخدام هذه التقنية للمشاريع والمهام الخاصة بك.
الناتج من المصفوفة الناتجة
بعد تطبيق عملية الدوران 90 درجة ، يمكن عرض المصفوفة الناتجة على الشاشة:
للقيام بذلك ، يمكنك استخدام الحلقات للتكرار من خلال الصفوف والأعمدة من المصفوفة:
مصفوفة = [[1 ، 2 ، 3],
[4, 5, 6],
[7, 8, 9]]
للصف في المصفوفة:
ل إليم في الصف:
طباعة (إليم ، نهاية=" ")
طباعة()
نتيجة لتنفيذ هذا الرمز ، سيتم استلام الإخراج التالي:
1 2 3
4 5 6
7 8 9
هذه المصفوفة هي المصفوفة الأصلية التي تم تطبيق عملية الدوران 90 درجة عليها. إذا لزم الأمر ، يمكنك الرجوع إلى العناصر المقابلة للمصفوفة باستخدام الفهارس:
طباعة (مصفوفة[0] [0]) # إخراج قيمة العنصر عند تقاطع الصف الأول والعمود الأول
طباعة (مصفوفة [1] [2]) # إخراج قيمة العنصر عند تقاطع الصف الثاني والعمود الثالث
وبالتالي ، باستخدام الحلقات والفهرسة ، يمكنك الوصول إلى عناصر المصفوفة وعرضها على الشاشة.
سؤال وجواب
كيف يمكنني تدوير المصفوفة 90 درجة إلى اليمين?
لتدوير المصفوفة 90 درجة إلى اليمين في بيثون ، يمكنك استخدام نومبي — نب.روت90 (صفيف ، ك=1) طريقة. في هذه الحالة ، تحدد المعلمة ك عدد المرات لتدوير الصفيف 90 درجة إلى اليمين. إذا كانت قيمة ك هي 1 ، فسيتم تدوير المصفوفة مرة واحدة بمقدار 90 درجة في اتجاه عقارب الساعة.
كيف يمكنني تدوير المصفوفة 90 درجة إلى اليسار?
لتدوير المصفوفة 90 درجة إلى اليسار في بيثون ، يمكنك استخدام نومبي — نب.روت90 (صفيف ، ك=-1) طريقة. في هذه الحالة ، تحدد المعلمة ك عدد المرات لتدوير الصفيف 90 درجة إلى اليسار. إذا كانت قيمة ك هي -1 ، فسيتم تدوير المصفوفة مرة واحدة بمقدار 90 درجة عكس اتجاه عقارب الساعة.
كيف يمكنني تدوير المصفوفة 180 درجات?
لتدوير المصفوفة 180 درجة في بيثون ، يمكنك استخدام نومبي-نب.روت90 (صفيف ، ك=2) طريقة. في هذه الحالة ، تحدد المعلمة ك عدد المرات لتدوير الصفيف بمقدار 90 درجة. إذا كانت قيمة ك هي 2 ، فسيتم تدوير المصفوفة مرتين بمقدار 90 درجة في أي اتجاه ، مما يؤدي إلى دوران 180 درجة.
هل يمكنني تدوير المصفوفة بعدد عشوائي من الدرجات?
نعم ، في بيثون ، يمكنك تدوير المصفوفة من قبل عدد التعسفي من الدرجات باستخدام طريقة نومبي-نب.تعفن 90 (صفيف ، ك = ن) ، أين ن هو رقم يشير إلى عدد المرات التي تحتاج فيها المصفوفة إلى الدوران 90 درجة. على سبيل المثال ، لتدوير المصفوفة بمقدار 270 درجة ، تحتاج إلى تحديد ك=3.
هل يمكنني تدوير مصفوفة ممثلة كقائمة من القوائم?
نعم ، في بيثون يمكنك تدوير مصفوفة ممثلة كقائمة من القوائم بنسبة 90 درجة باستخدام وظيفة الرمز البريدي. تحتاج إلى تمرير قائمة قوائم المصفوفة إلى وظيفة الرمز البريدي ، ثم استخدام * لفك ضغط نتائج الرمز البريدي في قائمة جديدة من القوائم للحصول على المصفوفة التي تم تدويرها.
ما المكتبات يمكن أن تساعدك على تدوير المصفوفة في بيثون?
لتدوير المصفوفة في بيثون ، يمكنك استخدام مكتبات نومبي و أوبينكف. نومبي يوفر نب.دالة روت90 () ، والتي تسمح لك بتدوير المصفوفة بزاوية معينة إلى اليسار أو اليمين. كما يوفر أوبينكف ميزة سي في 2.تدوير () ، والذي يسمح لك بتدوير الصور والمصفوفات بزاوية معينة.