الانتقال إلى المحتوى الرئيسي

مثال على برنامج بايثون: التحول الدوري لعناصر المصفوفة إلى اليسار بواسطة عناصر ص

يعد التحويل الدوري لعناصر المصفوفة أحد أكثر العمليات شيوعا عند العمل مع البيانات. يسمح لك بإعادة ترتيب عناصر المصفوفة عن طريق تحويلها إلى اليسار بعدد محدد من المواضع. على سبيل المثال ، إذا كان لدينا مصفوفة [1, 2, 3, 4, 5] ونحن نريد لنقلها 2 المواقف إلى اليسار ، ثم نحصل على مجموعة [3, 4, 5, 1, 2].

في هذه المقالة ، سنلقي نظرة على مثال لبرنامج بايثون الذي ينفذ تحولا دوريا لعناصر المصفوفة إلى اليسار بواسطة مواضع ص. للقيام بذلك ، سوف نستخدم تشريح وطرق العمل مع المصفوفات في بيثون ، مثل إلحاق() والبوب().

سيتم كتابة البرنامج في بيثون ، والتي تعد واحدة من لغات البرمجة الأكثر شعبية ولها بناء جملة بسيطة ومفهومة.

  1. وصف المهمة
  2. حل المشكلة
  3. خوارزمية البرنامج
  4. شفرة المصدر للبرنامج
  5. مثال على كيفية عمل البرنامج
  6. سؤال وجواب

وصف المهمة

والغرض من هذه المهمة هو تنفيذ برنامج بيثون أن التحولات دوريا عناصر مجموعة إلى اليسار من قبل عدد معين من الخطوات.

إدخال البيانات: مجموعة من الأرقام آر وعدد من الخطوات التحول ص.

بيانات الإخراج: مجموعة من الأرقام التي تم الحصول عليها بعد تحويل عناصر المصفوفة الأصلية بشكل دوري إلى اليسار بواسطة ص خطوات.

مثال:

إدخال البيانات
الناتج آر = [1, 2, 3, 4, 5], ص = 2[3, 4, 5, 1, 2]
آر = [7, 9, 2, 5], ص = 1[9, 2, 5, 7]

في حل المشكلة ، يمكنك استخدام الحلقات والعمليات مع القوائم ، مثل إلحاق () ، البوب () ، إدراج().

حل المشكلة

لحل المشكلة ، من الضروري تنفيذ وظيفة تؤدي تحولا دوريا لعناصر المصفوفة إلى اليسار بواسطة عدد معين من العناصر.

خوارزمية الحل:

  1. اتخاذ مجموعة وعدد من العناصر لتحويل كمدخل.
  2. داخل الوظيفة ، قم بإنشاء مصفوفة مؤقتة تساوي المصفوفة الأصلية.
  3. إزالة العناصر ص الأولى من مجموعة مؤقتة.
  4. إرفاق العناصر المحذوفة بنهاية المصفوفة المؤقتة.
  5. إرجاع المصفوفة الناتجة نتيجة لذلك.

مثال على تنفيذ الوظيفة:

"'بايثون

تغيير الصف_اليسار (آر آر ، آر):

تيمب_ار = آر.نسخة()

تمب_ار [: ص] = []

[: ص]

عودة تيمب_ار

"`

مثال على استخدام الوظيفة:

"'بايثون

صفيف = [1, 2, 3, 4, 5]

صفيف = صفيف = يسار (صفيف ، 2)

طباعة

«`

الناتج:

"`

[3, 4, 5, 1, 2]

«`

وبالتالي ، تسمح لك وظيفة التحول إلى اليسار بتدوير عناصر المصفوفة إلى اليسار بواسطة عدد محدد من العناصر.

خوارزمية البرنامج

ما يلي هو خوارزمية برنامج بايثون لتحويل عناصر المصفوفة دوريا إلى اليسار بواسطة عناصر ص:

  1. تعيين مجموعة الأولية من العناصر ن.
  2. قم بتعيين قيمة المتغير ص ، الذي يحدد عدد العناصر التي يجب من خلالها إزاحة المصفوفة.
  3. إذا كانت قيمة ص أكبر من أو تساوي ن ، قم بتعيين ما تبقى من قسمة ر على ن للمتغير ص.
  4. إنشاء مجموعة مؤقتة جديدة ونسخ العناصر ص مشاركة من مجموعة الأصلي في ذلك.
  5. انسخ جميع العناصر إلى المصفوفة المصدر ، بدءا من موضع ص وتنتهي في نهاية المصفوفة.
  6. انسخ العناصر من المصفوفة المؤقتة إلى المصفوفة المصدر ، بدءا من الموضع 0 وحتى ص-1.
  7. إخراج الصفيف الأصلي مع التحول الدوري المنجز بواسطة عناصر ص.

تعتمد الخوارزمية على الخطوات التالية:

  1. إذا كانت قيمة ر أكبر من أو يساوي ن ، نستخدم ما تبقى من عملية القسمة لتحويل المصفوفة فقط بالعدد المطلوب من العناصر.
  2. إنشاء صفيف مؤقت مؤقت ، حيث سنقوم بتخزين العناصر الأخيرة من المصفوفة الأصلية.
  3. انسخ العناصر ، بدءا من الموضع ص إلى نهاية المصفوفة ، إلى المصفوفة الأصلية.
  4. نقوم بنسخ العناصر من المصفوفة المؤقتة إلى المصفوفة المصدر ، بدءا من الموضع 0 وحتى ص — 1.

وبالتالي ، بعد تنفيذ الخوارزمية ، سيتم تحويل عناصر المصفوفة إلى اليسار بواسطة ص المواضع.

شفرة المصدر للبرنامج

Ниже приведен исходный код примера программы на Python, который осуществляет циклический сдвиг элементов массива влево на r элементов.

    arr = [1, 2, 3, 4, 5]

    r = int(input("Введите количество шагов сдвига: "))

    result = shift_array_left(arr, r)

    طباعة ("صفيف المصدر:" ، آر)