الحلقة التكرارية في Python هي وظيفة تكرارية. إذا كان لديك كائن تسلسلي مثل list، يمكنك استخدام الحلقة التكرارية لتكرار العناصر الموجودة داخل القائمة.
وظيفة الحلقة التكرارية لا تختلف كثيرًا عن ما تراه في لغات برمجة أخرى متعددة.
في هذه المقالة، سنكتشف حلقة التكرار في Python بالتفصيل ونتعلم كيفية تكرار تسلسلات مختلفة بما في ذلك القوائم، والتوابع، والمزيد. بالإضافة إلى ذلك، سنتعلم كيفية التحكم في تدفق الحلقة باستخدام بيانات الاستراحة والمتابعة.
متى نستخدم حلقة التكرار
في أي وقت تحتاج فيه إلى تكرار كتلة من الشفرة عددًا ثابتًا من المرات. إذا كنت لا تعرف عدد المرات التي يجب أن يتم التكرار فيها، استخدم بيان “حلقة while” بدلاً من ذلك.
صيغة حلقة التكرار في Python
صيغة حلقة التكرار الأساسية في Python تبدو مشابهة إلى حد ما لتلك المذكورة أدناه.
بيثون لحلقة الـ for بالتفصيل
- الكلمة الأولى في البيان تبدأ بالكلمة المفتاح “for” التي تدل على بداية حلقة الـ for.
- ثم لدينا متغير العارض الذي يكرر عبر التسلسل ويمكن استخدامه داخل الحلقة لأداء وظائف مختلفة
- التالي هو كلمة “in” في بيثون التي تخبر متغير العارض بتكرار العناصر داخل التسلسل
- وأخيرًا، لدينا متغير التسلسل الذي يمكن أن يكون إما قائمة، أو tuple، أو أي نوع آخر من العارض.
- جزء البيانات في الحلقة هو المكان الذي يمكنك فيه التلاعب بمتغير العارض وأداء وظائف مختلفة
اطبع الحروف الفردية لسلسلة باستخدام حلقة الـ for
سلسلة بيثون هي تسلسل من الأحرف. إذا كنت بحاجة في أي من تطبيقاتك البرمجية إلى الانتقال عبر الأحرف لسلسلة بشكل فردي، يمكنك استخدام حلقة الـ for هنا.
إليك كيف يمكن أن تعمل ذلك بالنسبة لك.
الناتج:
السبب في أن هذا الحلقة يعمل هو أن Python يعتبر “سلسلة نصية” كتسلسل من الأحرف بدلاً من النظر إلى السلسلة ككل.
استخدام حلقة for للتكرار على قائمة Python أو tuple
القوائم و التوابع هي أشياء قابلة للتكرار. دعونا نلقي نظرة على كيفية تكرار العناصر ضمن هذه الكائنات الآن.
الناتج:
الآن، دعونا نتقدم ونعمل على تكرار عناصر tuple هنا.
تضمين حلقات for في Python
عندما يكون لدينا حلقة for داخل حلقة for أخرى، يُطلق عليها حلقة for متداخلة. يوجد تطبيقات متعددة لحلقة for متداخلة.
Considere el ejemplo de la lista anterior. El bucle for imprime palabras individuales de la lista. Pero, ¿qué pasa si queremos imprimir los caracteres individuales de cada una de las palabras dentro de la lista en su lugar?
Aquí es donde funciona mejor un bucle for anidado. El primer bucle (bucle principal) recorrerá las palabras una por una. El segundo bucle (bucle secundario) recorrerá los caracteres de cada una de las palabras.
Salida
A nested loop is structurally similar to nested if
statements
Bucle for de Python con la función range()
El rango de Python es una de las funciones incorporadas. Cuando desea que el bucle for se ejecute durante un número específico de veces, o necesita especificar un rango de objetos para imprimir, la función de rango funciona realmente bien.
Al trabajar con range()
, puede pasar entre 1 y 3 argumentos enteros a él:
start
establece el valor entero en el que comienza la secuencia, si esto no se incluye, entoncesstart
comienza en 0stop
siempre es necesario y es el entero que se cuenta pero no se incluyeالخطوة
تحدد كمية الزيادة (أو النقص في حالة الأرقام السالبة) في التكرار التالي، إذا تم حذف ذلك فإنالخطوة
سيكون افتراضياً 1
افترض الأمر في المثال التالي حيث أريد طباعة الأرقام 1 و 2 و 3:
تأخذ دالة النطاق أيضًا معلمة أخرى بجانب البداية والتوقف. وهذه هي معلمة الخطوة. يخبرنا ذلك عن كم عدد من الأرقام يتم تخطيها بين كل عد.
في المثال أدناه، لقد استخدمت الرقم 3 كمعلمة خطوة ويمكنك أن ترى الأرقام المخرجة هي الرقم السابق + 3.
يمكننا أيضًا استخدام قيمة سلبية لمعامل الخطوة
للتكرار بشكل عكسي، ولكن علينا أن نعدل معاملات البداية
و التوقف
وفقًا لذلك:
هنا، 100 هو قيمة البداية
، 0 هو قيمة التوقف
، و -10
هو النطاق، لذا يبدأ الحلقة عند 100 وينتهي عند 0، متناقصًا بمقدار 10 مع كل تكرار. وهذا يحدث في الناتج:
Output100
90
80
70
60
50
40
30
20
10
عندما تبرمج بلغة Python، غالبًا ما تستخدم حلقات الـ for متتالية من نوع range() كمعلماتها للتكرار.
بيان الكسر مع حلقة for
يُستخدم بيان الكسر للخروج من حلقة الـ for مبكرًا. يُستخدم لكسر حلقة الـ for عندما تُلبَّى شرط معين.
لنفترض أن لدينا قائمة من الأرقام ونريد التحقق مما إذا كانت الرقم موجودًا أم لا. يمكننا التكرار عبر القائمة من الأرقام وإذا تم العثور على الرقم، ننقطع عن الحلقة لأنه لا داعي للاستمرار في التكرار عبر العناصر المتبقية.
في هذه الحالة، سنستخدم شرط if else في Python بجانب حلقتنا for.
بيان الاستمرار مع حلقة for
يمكننا استخدام بيانات الاستمرار داخل حلقة for لتجاوز تنفيذ جسم حلقة for لشرط معين.
لنفترض أن لدينا قائمة من الأرقام ونريد طباعة مجموع الأرقام الإيجابية. يمكننا استخدام تعليمات continue لتجاوز الحلقة التكرارية للأرقام السالبة.
الحلقة التكرارية في بايثون مع كتلة else
يمكننا استخدام كتلة else مع الحلقة التكرارية في بايثون. يتم تنفيذ كتلة else فقط عندما لا يتم إنهاء الحلقة التكرارية بواسطة تعليمة كسر.
لنفترض أن لدينا وظيفة لطباعة مجموع الأرقام فقط إذا كانت جميع الأرقام زوجية.
يمكننا استخدام تعليمة الكسر لإنهاء الحلقة التكرارية إذا كان العدد فرديًا. يمكننا طباعة المجموع في الجزء الآخر بحيث لا يتم طباعته إلا عند تنفيذ الحلقة التكرارية بشكل طبيعي.
الحلقات التكرارية باستخدام أنواع البيانات التسلسلية
القوائم وغيرها من أنواع تسلسل البيانات يمكن استخدامها أيضًا كمعلمات تكرار في حلقات for
. بدلاً من التكرار عبر range()
، يمكنك تعريف قائمة والتكرار من خلال تلك القائمة.
سنخصص قائمة لمتغير، ثم نكرر من خلال القائمة:
في هذه الحالة، نقوم بطباعة كل عنصر في القائمة. على الرغم من استخدام المتغير shark
، يمكننا استدعاء المتغير باسم متغير آخر اسم متغير صالح وسنحصل على نفس الناتج:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
الناتج أعلاه يظهر أن الحلقة for
تكررت من خلال القائمة، وطبعت كل عنصر من القائمة في كل سطر.
القوائم وغيرها من أنواع بيانات مبنية على التسلسل مثل السلاسل و الأزواج شائعة الاستخدام مع الحلقات لأنها قابلة للتكرار. يمكنك دمج هذه الأنواع من البيانات مع range()
لإضافة عناصر إلى قائمة، على سبيل المثال:
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
هنا، قمنا بإضافة سلسلة نصية بديلة من 'shark'
لكل عنصر من طول قائمة sharks
.
يمكنك أيضًا استخدام حلقة for
لإنشاء قائمة من البداية:
في هذا المثال، تم تهيئة قائمة integers
فارغة، ولكن حلقة for
تملأ القائمة كما يلي:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
بالمثل، يمكننا تكرار السلاسل:
OutputS
a
m
m
y
يتم تكرار الأزواج بنفس التنسيق المستخدم في تكرار القوائم أو السلاسل أعلاه.
عند تكرار القاموس، من المهم أن نتذكر هيكل المفتاح: القيمة لضمان استدعاء العنصر الصحيح من القاموس. فيما يلي مثال يستدعي كل من المفتاح والقيمة:
Outputname: Sammy
animal: shark
location: ocean
color: blue
عند استخدام القواميس مع حلقات for
، يتوافق المتغير المكرر مع مفاتيح القاموس، وdictionary_variable[iterating_variable]
يتوافق مع القيم. في الحالة أعلاه، تم استخدام المتغير المكرر key
للإشارة إلى المفتاح، واستخدم sammy_shark[key]
للإشارة إلى القيم.
غالبًا ما يتم استخدام الحلقات لتكرار وتلاعب أنواع البيانات التسلسلية.
الاستنتاج
الحلقة for
في Python مشابهة للغاية لغات البرمجة الأخرى. يمكننا استخدام تعليمات الكسر والاستمرار مع حلقة for لتغيير التنفيذ. ومع ذلك، في Python، يمكننا أيضًا وجود كتلة else اختيارية في حلقة for.
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
من هنا، يمكنك الاستمرار في تعلم الحلقات عن طريق قراءة البرامج التعليمية حول حلقات الـwhile وتعليمات الاستراحة، الاستمرار، والمرور.
للعمل مع حلقات for
في المشاريع، تابع البرامج التعليمية التالية:
Source:
https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3