جملة الحلقة او التكرار باستخدام for في بايثون بيثون Python for Loop Statements

جملة الحلقة او التكرار باستخدام for في بايثون بيثون

 Python for Loop Statements

جملة الحلقة او التكرار باستخدام for في بايثون بيثون Python for Loop Statements

لديه القدرة على التكرار على العناصر من أي تسلسل ، مثل قائمة أو سلسلة.

الصيغة العامة Syntax

for iterating_var in sequence:
   statements(s)
إذا كان التسلسل يحتوي على قائمة تعبير ، فيتم تقييمه أولاً.  بعد ذلك ، يتم تعيين العنصر الأول في التسلسل إلى متغير التكرار iterating_var.  بعد ذلك ، يتم تنفيذ كتلة العبارات.  يتم تعيين كل عنصر في القائمة على iterating_var ، ويتم تنفيذ كتلة البيان (العبارات) حتى يتم استنفاد التسلسل بأكمله.

مخطط التدفق Flow Diagram

for loop in Python

مثال Example


#!/usr/bin/python

for letter in 'Python':     # First Example
   print 'Current Letter :', letter

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # Second Example
   print 'Current fruit :', fruit

print "Good bye!"

ناتج الكود  
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : h
Current Letter : o
Current Letter : n
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!

التكرار بواسطة مؤشر التسلسل Iterating by Sequence Index

طريقة بديلة للتكرار من خلال كل عنصر هي عن طريق تعويض الفهرس في التسلسل نفسه.  فيما يلي مثال بسيط -

#!/usr/bin/python

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print 'Current fruit :', fruits[index]

print "Good bye!"

مخرجات الكود 
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
.هنا ، حصلنا على مساعدة من الدالة len () المدمجة ، والتي توفر العدد الإجمالي للعناصر في المجموعة وكذلك الوظيفة المدمجة في النطاق () لتعطينا التسلسل الفعلي للتكرار.

 باستخدام بيان آخر مع الحلقات
 يدعم Python أن يكون هناك بيان آخر مرتبط ببيان حلقة

 إذا تم استخدام العبارة الأخرى مع حلقة for ، يتم تنفيذ العبارة الأخرى عندما تستنفد الحلقة تكرار القائمة.

 إذا تم استخدام العبارة الأخرى مع حلقة من الوقت ، يتم تنفيذ العبارة الأخرى عندما تصبح الحالة خاطئة.

 يوضح المثال التالي مزيج عبارة أخرى مع عبارة for يبحث عن الأعداد الأولية من 10 إلى 20
#!/usr/bin/python

for num in range(10,20):     #to iterate between 10 to 20
   for i in range(2,num):    #to iterate on the factors of the number
      if num%i == 0:         #to determine the first factor
         j=num/i             #to calculate the second factor
         print '%d equals %d * %d' % (num,i,j)
         break #to move to the next number, the #first FOR
   else:                  # else part of the loop
      print num, 'is a prime number'

مخرجات الكود
10 equals 2 * 5
11 is a prime number
12 equals 2 * 6
13 is a prime number
14 equals 2 * 7
15 equals 3 * 5
16 equals 2 * 8
17 is a prime number
18 equals 2 * 9
19 is a prime number