الحلقات التكرارية loops في بايثون - ProgrammerTech
Language:

Search

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

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


Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش من سورية من ريف حلب الشرقي 1994, محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com