الحلقات التكرارية في بايثون
حلقات التكرار ( loops ) تُستخدَم الحلقات التكرارية في البرمجة عامة لعدم تكرار كود برمجي أو أي شي نريده عدة مرات, عندما نريد تكرار هذا الكود عدة مرات فقط نقوم بوضعه ضمن حلقة التكرار و نقوم بتنفيذه و وضع شروط حسب سير البرنامج الذي نعمل به.
حلقة while loop في بايثون
نستخدم حلقة while loop عندما نريد تنفيذ كود ما لعدد مرات غير محدودة و يتم توقيف الحلقة عندما يتحقق الشرط الذي قمنا بوضعه اثناء كتابة الكود و يكون الشرط بين قوسين.
مثال 1
a = 5 while a < 12: . . . print("a")
بهذا المثال عيننا قيمة a هي 5 و وضعنا شرط while طالما a اصغر من 12 يبقى يطبع لنا a بعدد لا نهاية يبقى يطبع a ولا يتوقف.
مثال 2
a = 0 while a < 10 : a += 1 print (a)
في المثال السابق وضعنا قيمة a هي 0 و وضعنا شرط إذا a اصغر من 10 وقلنا له a += 1 ابقى زود 1 ريثما يصل للرقم 10 و يتوقف.
مثال 3
a = 0 while a <= 10: a += 1 if a == 3: print ("3") print(a)
نُلاحظ في المثال وضعنا شرط if إذا a تساوي 3 يطبع لنا الرقم 3 و بالفعل طبع لنا رقم 3 مرتين لأن وضعنا دالة الطباعة الأول للشرط مساواة الـ 3 و الشرط الثاني لطباعة أرقام اللوب.
نستطيع تخطي إحدى القيم بإستخدام الدالة continue كما في المثال التالي
مثال 4
a = 0 while a <= 10: a += 1 if a == 3: continue print(a)
كما سوف نلاحظ عند التشغيل أنهُ تخطى لنا الـ 3, و نستطيع كتابه الدالة pass ايضاً يعني مرور دون تخطي شيئ و نستطيع ايضاً إيقاف اللوب بإستخدام break.
مثال 5
a = 0 while a <= 10: a += 1 if a == 4: break print(a)
سوف نلاحظ أنهُ طَبَعَ لنا لغاية الرقم 3 و توقّف لأننا إستخدمنا break.
مثال 6
اكتب برنامج يطبع كلمة Nusur Tech خمس مرات بإستخدام حلقة while loop في لغة بايثون.
counter=1 while counter<=5: print('Nusur Tech') counter=counter+1
أنشأنا العدّاد counter و قيمته 1 أي سوف يبدأ من الرقم 1 و وضعنا حلقة while loop و قلنا إذا قيمة العدّاد أصغر أو يساوي 5 قم بطباعة كلمة Nusur Tech و زد في كل دورة واحد إلى أن يصل للرقم 5 و يتوقف.
عندما قمنا بتشغيل الكود السابق كانت نتيجته طباعة الجملة خمس مرات.
Nusur Tech Nusur Tech Nusur Tech Nusur Tech Nusur Tech
مثال 7
اكتب برنامج بلغة بايثون يطبع الأعداد بين 1 حتى 5 مستخدماً حلقة التكرار while loop.
counter=1 while counter<=5: print(counter) counter=counter+1
أنشأنا العدّاد counter و قيمته 1 أي سوف يبدأ من الرقم 1 و وضعنا حلقة while loop و قلنا إذا قيمة العدّاد أصغر أو يساوي 5 قم بطباعة العدّاد counter و زد في كل دورة واحد إلى أن يصل للرقم 5 و يتوقف.
عندما قمنا بتشغيل الكود السابق كانت نتيجته طباعة الأرقام من 1 حتى 5 و توقف.
1 2 3 4 5
مثال 8
اكتب برنامج بلغة بايثون يطبع الأعداد الزوجية بين 1 حتى 20 بإستخدام حلقة while في لغة بايثون.
x=1 while x<=20: if x % 2==0: print(x) x = x + 1 print("Ok")
أنشأنا متغير x و قيمته 1 ثم دخلنا لحلقة تكرارية while و كتبنا x أصغر أو يساوي 20 ثم كان الشرط إذا كان x % 2 أي الأرقام تكون زوجية و إطبع قيمة x في كل دورة و زد 1 عليها و عند النهاية أي يصل إلى 20 قم بطباعة ok.
نتيجة الكود السابق كانت
2 4 6 8 10 12 14 16 18 20 Ok
مثال 9
أكتب برنامج بايثون يطبع الاعداد الفردية بين 1 الى 15 و إستخدم في البرنامج الحلقة while loop التكرارية في بايثون.
x=1 while x<=15: if x % 1==0: print(x) x = x +2 print("Ok")
نتيجة الكود السابق
1 3 5 7 9 11 13 15 Ok
حلقة for loop في بايثون
حلقة ( for loop ) هذا النوع من الحلقات يٌستخدَم لتكرار الكود عدة مرات, و يستخدم من اجل المرور على جميع عناصر سلسلة ما أو مصفوفة و لا يحتاج إلى تعريف عدّاد او بداية له او نهاية.
مثال 10
name = "programmer" for i in name: print(i)
لقد أنشأنا متغير name و عيننا له القيمة programmer ثم قمنا بفتح حلقة for التكرارية و قلنا للبرنامج هل i في name و إطبع لنا i و بعد تشغيل الكود لقد تم مرور الحلقة على جميع عناصر السلسلة النصية و طبعها حرف حرف يعني كل حرف في سطر.
مثال 11
قم بكتابة برنامج يقوم بطباعة كلمة Nusur Tech عشر مرات بإستخدام حلقة for في بايثون.
for i in range(0,10): print("Nusur Tech")
كتبنا for أي هي بداية الحلقة و العدّاد هو i أي تبدأ بدايته من 1 حتى 10 و إطبع كلمة Nusur Tech على حسب المرات التي وضعناها للعداد أي عشر مرات.
مثال 12
اكتب كود يقوم بطباعة جميع الأعداد الصحيحة بين 1 و 10 بإستخدام حلقة for في بايثون.
for i in range(1, 11): print(i)
قلنا للبرنامج هنا قم بطباعة الأرقام من 1 حتى 10 و يبقى الدوران يعمل حتى يصل إلى الرقم 10 و يتوقف, و النتيجة سنجدها بالشكل
1 2 3 4 5 6 7 8 9 10
مثال 13
اكتب كود يقوم بطباعة جميع الأعداد الزوجية بين 1 و 20.
for i in range(1, 21): if i%2==0: print(i)
أنشأنا حلقة تكرارية for و قلنا بها أننا نريد طباعة الأرقام ما بين 1 حتى 21 لكن وضعنا شرط أن يطبع فقط الارقام الزوجية ما بين هذا الرنج, و عند تشغيل الكود سنحصل على النتيجة
2 4 6 8 10 12 14 16 18 20
مثال 14
اكتب كود يقوم بطباعة جميع الأعداد الفردية بين 1 و 40.
for i in range(1, 41): if i%3==0: print(i)
أنشأنا حلقة تكرارية for و قلنا بها أننا نريد طباعة الأرقام ما بين 1 حتى 41 لكن وضعنا شرط أن يطبع فقط الارقام الفردية ما بين هذا الرنج, و عند تشغيل الكود سنحصل على النتيجة
3 6 9 12 15 18 21 24 27 30 33 36 39
مثال 15
اكتب برنامج يقوم بطباعة احرف اللغة الأنكليزية كاملة بشكل صغير small.
for i in range(97,123): print(chr(i))
عند تشغيل هذا الكود سوف يطبع لنا جميع الأحرف الإنجليزية صغيرة بالشكل
a b c d e f g h إلى نهاية الأحرف حتى الحرف z
مثال 16
اكتب برنامج يقوم بطباعة احرف اللغة الأنكليزية كاملة بشكل كبير capital.
for i in range(65,91): print(chr(i))
عند تشغيل الكود سوف يطبع جميع الاحرف كبيرة.
مثال 17
انشئ مصفوفة ارقام ومن ثم اطبع عناصر المصفوفة بإستخدام for.
n=[18,6,9,40,60,125] for index in range(0,6): print(n[index])
أنشأنا مصفوقة n و بها 6 عناصر و أدخلناها في حلقة تكرارية و عند تشغيل الكود
18 6 9 40 60 125
مثال 18
اطبع محتويات مصفوفة عن طريق تمريرها بحلقة.
admin_P = ["data", "amviip", "saja", "wazeer"] for x in admin_P: print(x)
قمنا بإنشاء مصفوفة بها أربع عناصر نصية و أخلناهم في حلقة تكرارية لطباعه عناصرها, و عند تشغيل الكود
data amviip saja wazeer
مثال 19
اكتب برنامج يمر على جميع احرف كلمة ما ويطبع كل حرف بسطر.
for x in "Muhammad": print(x)
النتيجة
M u h a m m a d
مثال 20
اكتب برنامج يخرج من الحلقة عندما يصل للكلمة amviip.
admins = ["data", "saja", "amviip", "wazeer"] for x in admins: print(x) if x == "kaissar": break
أنشأ،ا متغير وهو admins و بداخله مصفوفة بها 4 عناصر ثم كتبنا حلقة for تكرارية و قلنا اذا x في المتغير admins قم بطباعة x و اذا كانت x تساوي amviip قم بإيقاف الحلقة عنده.
و عند تشغيل الكود ستكون نتيجته
data saja amviip
مثال 21
اكتب برنامج يتجاهل كلمة amviip و يكمل الحلقة.
admins = ["data", "saja", "amviip", "wazeer"] for x in admins: if x == "amviip": continue print(x)
نتيجة الكود السابق
data saja wazeer
مثال 22
برنامج يقوم بطباعة الأعداد من 1 الى 7.
for i in range(1, 8): print(i) print('for loop')
نتيجة الكود السابق
1 for loop 2 for loop 3 for loop 4 for loop 5 for loop 6 for loop
ملاحظة بنصيحة مننا لكم
كن مثل الـ (while) إن لم تصل إلى هدفك من المحاولة الأولى،. أعد المحاولة مرة و إثنان و ثلاثة حتى يتحقق هدفك و لا تكن مثل الـ (if) تربط. مصيرك بمحاولة واحدة، إن تحققت تستمر و إن لم تتحق تتوقف.