Python Programming

الحلقات التكرارية loops في بايثون 6

الحلقات التكرارية في بايثون

الحلقات التكرارية 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.

مثال 6

اكتب برنامج يطبع كلمة 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 ) هذا النوع من الحلقات يٌستخدَم لتكرار الكود عدة مرات, و يستخدم من اجل المرور على جميع عناصر سلسلة ما أو مصفوفة و لا يحتاج إلى تعريف عدّاد او بداية له او نهاية.

مثال 10
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) تربط. مصيرك بمحاولة واحدة، إن تحققت تستمر و إن لم تتحق تتوقف.

Ahmedkaissar

من مصر من محافظة الجيزة مبرمج ويب و خبير أمن معلومات محب للتقنية و الأمن المعلوماتي مدرب للغات "Python,html, css, php, js, laravel"

مقالات ذات صلة

زر الذهاب إلى الأعلى