|
بايثون – ôéúåï – python
: موقع
محرر الأاكواد
- onlineDGB.com
الحلقة
التكرارية for
-
إعادة
تنفيذ الأوامر
الحلقة
التكرارية for
·
نستعمل
حلقة for عندما
تكون هناك حاجة
لتكرار تنفيذ
أمر أو عدة
أوامر، عدداً
معيناً من
المرات.
· عدد
مرات تكرار
الحلقة معلوم
لنا مسبقا،
ويجب ذكره في بداية
أمر الحلقة.
· للحلقة
يوجد عداد
الذي يقوم
بعَد عدد مرات
تكرارها -
تكرار تنفيذ
الأمر أو الأوامر.
مثال
1( أ )
for x in range(5): print (x) |
المخرج:
0 1 2 3 4 |
------------------------------------------------------------------------------------------------
مثال
1(ب)
for x in range(5): print
("Welcome") |
المخرج:
Welcome Welcome Welcome Welcome Welcome |
------------------------------------------------------------------------------------------------
مثال
1(ج)
for x in range(5): print
(x,"Welcome") |
المخرج:
0 Welcome 1 Welcome 2 Welcome 3 Welcome 4 Welcome |
· x -
يدعى متغير
الحلقة
أو عداد الحلقة.
وهو
يتقدم بشكل
تلقائي (آلي)
حسب القيمة
المسجلة في
المجال range().
في
المثال يبدأ
من القيمة x=0
وينتهي
بالقيمة x=4 (x=0,1,2,3,4)
· (عدد)range – هو مجال
متغير الحلقة
أو مجال عداد
الحلقة.
المجال
يكون أقل بـ 1 من العدد
المسجل.
في
المثال مجال
عداد الحلقة 5 لان range(5)،
لذلك
الحلقة تتكرر5 مرات
وقيمة x تكون: 0, 1, 2, 3, 4
مبنى
حلقة for
for متغير
الحلقة in range(المجال):
جسم
الحلقة |
بشكل
عام، آلية
حلقة for في
مجال مع قيمة
معينة n:
for x in range(n): جسم
الحلقة |
في كل
دورة للحلقة
يتم تعويض
القيم:
x = 0, 1, 2, 3,
… , n-1
وبكل
دورة يُنفذ
جسم الحلقة.
مثال2
نريد
طباعة
الأعداد
الصحيحة في
المجال بين 0 و 10 (لا يشمل 10)
for k in range(10): print
(k, end=' ') |
المخرَج: |
0
1 2 3 4 5 6 7 8 9 |
في
المثال يُعبر
عن مجال
عداد الحلقة 0, 1, 2, … 9
الكود
end=' ' وظيفته
إبقاء
الطباعة على
نفس السطر.
مثال3
n = 7 for k in range(n): print
(k, end=' ') |
المُخرج: 0 1 2 3 4
5 6
مثال 4
نعرض
على الشاشة،
ضرب الأعداد
التي في المجال
بين 0 و 10 بـ 2 (لا
يشمل 10).
الفكرة:
نَمُر على
الأعداد من 0
حتى 9، ونضرب
كل عدد بـ 2.
for x in range(10): print
(x*2,
end=' ') |
المُخرج: 0 2 4 6 8 10 12 14 16 18
توضيح:
z * 2 |
x |
0
* 2 = 0 |
0 |
1 * 2 = 2 |
1 |
2
* 2 = 4 |
2 |
3 * 2 = 6 |
3 |
4
* 2 = 8 |
4 |
5 * 2 = 10 |
5 |
6
* 2 = 12 |
6 |
7 * 2 = 14 |
7 |
8
* 2 = 16 |
8 |
9 * 2 = 18 |
9 |
تحديد مجال
جزئي للحلقة
range(start, end, step): · start, end, step جميعها من
نوع int فقط ·
القفزة
step ممكن
أن تكون
سالبة. مثال: range(3,9,2): ==> 3, 5, 7 |
range(start, end): ·
لم
نحدد
القفزة،
القفزة هنا
تلقائية 1 ،
step=1 range(start, end, 1): مثال: range(3,9): ==> 3, 4, 5, 6, 7,
8 |
range(end): ·
لم
نحدد
البداية، البداية
هنا تلقائية 0 ، start=0 ·
لم
نحدد
القفزة،
القفزة هنا
تلقائية 1 ،
step=1 range(0, end, 1): ·
0,1,2,3,…,end-1 مثال: range(9):
==>0,1,2,3,4,5,6,7,8 |
مثال 5
نطبع
على الشاشة
الأعداد من 1
وحتى 10 (يشمل 10).
نحدد
من أي عدد
نبدأ وبأي عدد
ننهي تنفيذ
الحلقة.
for n in range(1, 11): print (n, end=' ') |
مخرج: 1 2
3 4 5
6 7 8
9 10
مثال 6
for x in range(3, 14): print (x, end=' ') |
المُخرج : 3 4 5 6
7 8 9 10 11
12 13
مثال 7
نريد
طباعة
الأعداد
الزوجية بين 1
و- 20 (يشمل)
for k in range(2, 21, 2): print
(k,
end='
') |
المُخرج: 2 4 6 8 10 12 14 16 18 20
الأمر
في الحلقة
معناه: إبدا
من 2 وحتى 20 (وليس
21، دائما أقل
بــ 1) والقفزة 2.
مثال 8
نطبع
الأعداد من 5
وحتى 50 مع
قفزات 5:
for k in range(5, 51, 5): print
(k, end=' ') |
المخرج: |
5 10 15 20
25 30 35
40 45 50 |
مثال 9
حلقة
في مجال
تنازلي مع
قفزات
for k in range(10, 3, -1): print
(k) |
المُخرج:
|
10 9
8 7 6
5 4 |
مثال 10
حلقة
في مجال
تنازلي مع
قفزات:
for k in range(0, -10, -2): print
(k) |
المُخرج:
|
0 -2 -4 -6 -8 |
تمارين
سؤال1
أكتب
برنامج يقرأ
أسمك، وبعدها
يقوم
بالترحاب بك 5 مرات
مثال
لمخرج:
name = "Amer" welcome Amer welcome Amer welcome Amer welcome Amer welcome Amer |
الحل:
name = input("name=") for k in range (5): print
("welcome", name) |
سؤال
2
اكتب
الأمر التالي
بشكل مختصر
بدون تحديد
القفزة:
for x in range(0, 4, 1) |
الحل:
for
x in range(0 , 4) |
أو:
for
x in range(4) |
سؤال3
أكتب
برنامج يقرأ
عدد بين 1 و
12 (يشمل)
على
البرنامج أن
يطبع جدول
الضرب لهذا
العدد.
مثال
لتشغيل الكود:
number=
8 0 * 8 = 0 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 9 * 8 = 72 |
الحل:
x = int(input("number=")) for w in range(10):
print ( w,"*", x, "=", w*x) |
سؤال4
جد
المخرج
الناتج من
الكود التالي:
0 0 1 1 2 4 3 9 4 16 Done |
for x in range(5): print
(x, x**2) print ("done") |
سؤال
5 (îöâú éåí òéåï
2017, ôééúåï ìëéúä è)
( أ ) أمامكم مقطع
برمجي، جد
المخرج.
for temp in range(1, 20, 2): print (temp, end=' ') print ("temp") |
المخرج (ôìè) : 1 3 5 7 9 11 13 15 17 19 temp
(ب) معطى
المخرج، أكمل الناقص
في الكود
المخرج: -10 -8 -6 -4 -2 0 2 4 6 8
for x in range(-10, 10, 2): print (x, end=' ') |
سؤال6 (áðåñó âí ìîöâú
éåí òéåï 2017, ôéúåï ìëéúä è)
ماذا
سيطبع في كل
واحد من
المقاطع
البرمجية التالية:
|
0 1 2 3 4 |
for x in range(5): print (x) |
(أ) |
0 1
2 3 |
for c in range(0, 4): print (c) |
|
1 4 7
|
for x in range(1, 10 ,3): print (x) |
(ب) |
0 2
4 |
for c in range(0, 5, 2): print (c) |
(ت) |
5 4
3 2 |
for c in range(5, 1, -1): print (c) |
|
9 8 7
|
for c in range(9, 6, -1): print (c) |
(ث) |
لا
يطبع شيء |
for c in range(3, 1, 1): print (c) |
(ج) |
لا
يطبع شيء |
for c in range(0): print (c) |
(ح) |
0 |
for c in range(1): print (c) |
(خ) |
2 |
for c in range(2, 3): print (c) |
(د) |
6 7 8 9 10 11
12 |
x = 6 for x in range(x, 2*x+1): print (x) |
(ذ) |
6 |
x = 6 for x in range(x, 2*x, x): print (x) |
(ر) |
1 3
5 7 9 |
for x in range(1, 6): print (2*x-1) |
Daliaty School – Copywrite 2023
wahbem@gmail.com | https://daliaty.com
<meta name="viewport" content="width=device-width,
initial-scale=1">