
الحلقات التكرارية loops في بايثون
حلقات التكرار (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.
اكتب برنامج يطبع كلمة Programmer Tech خمس مرات بإستخدام حلقة while loop في لغة بايثون.
counter=1 while counter<=5: print('Programmer Tech') counter=counter+1
أنشأنا العدّاد counter و قيمته 1 أي سوف يبدأ من الرقم 1 و وضعنا حلقة while loop و قلنا إذا قيمة العدّاد أصغر أو يساوي 5 قم بطباعة كلمة Programmer Tech و زد في كل دورة واحد إلى أن يصل للرقم 5 و يتوقف.
عندما قمنا بتشغيل الكود السابق كانت نتيجته طباعة الجملة خمس مرات.
Programmer Tech Programmer Tech Programmer Tech Programmer Tech Programmer 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 ) هذا النوع من الحلقات يٌستخدَم لتكرار الكود عدة مرات, و يستخدم من اجل المرور على جميع عناصر سلسلة ما أو مصفوفة و لا يحتاج إلى تعريف عدّاد او بداية له او نهاية.
name = "programmer" for i in name: print(i)
لقد أنشأنا متغير name و عيننا له القيمة programmer ثم قمنا بفتح حلقة for التكرارية و قلنا للبرنامج هل i في name و إطبع لنا i و بعد تشغيل الكود لقد تم مرور الحلقة على جميع عناصر السلسلة النصية و طبعها حرف حرف يعني كل حرف في سطر.
مثال 11
قم بكتابة برنامج يقوم بطباعة كلمة Programmer Tech عشر مرات بإستخدام حلقة for في بايثون.
for i in range(0,10): print("Programmer Tech")
كتبنا for أي هي بداية الحلقة و العدّاد هو i أي تبدأ بدايته من 1 حتى 10 و إطبع كلمة Programmer 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", "kaissar", "saja", "wazeer"] for x in admin_P: print(x)
قمنا بإنشاء مصفوفة بها أربع عناصر نصية و أخلناهم في حلقة تكرارية لطباعه عناصرها, و عند تشغيل الكود
data kaissar saja wazeer
مثال 19
اكتب برنامج يمر على جميع احرف كلمة ما ويطبع كل حرف بسطر.
for x in "Muhammad": print(x)
النتيجة
M u h a m m a d
مثال 20
اكتب برنامج يخرج من الحلقة عندما يصل للكلمة kaissar.
admins = ["data", "saja", "kaissar", "wazeer"] for x in admins: print(x) if x == "kaissar": break
أنشأ،ا متغير وهو admins و بداخله مصفوفة بها 4 عناصر ثم كتبنا حلقة for تكرارية و قلنا اذا x في المتغير admins قم بطباعة x و اذا كانت x تساوي kaissar قم بإيقاف الحلقة عنده.
و عند تشغيل الكود ستكون نتيجته
data saja kaissar
مثال 21
اكتب برنامج يتجاهل كلمة kaissar و يكمل الحلقة.
admins = ["data", "saja", "kaissar", "wazeer"] for x in admins: if x == "kaissar": 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) تربط. مصيرك بمحاولة واحدة، إن تحققت تستمر و إن لم تتحق تتوقف.