شنبه ۲۹ دي ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش پایتون - حلقه for

حلقه for یکی از ساختارهای کنترل جریان در زبان برنامه‌نویسی پایتون است که برای تکرار یک بخش از کد یا انجام یک عملیات به تعداد مشخص مورد استفاده قرار می‌گیرد. حلقه for به شما این امکان را می‌دهد که به طور متوالی بر روی آیتم های یک دنباله حرکت کنید و به تعداد آن‌ها دستور یا دستورات مورد نظر را اجرا کنید

for متغیر_حلقه in دنباله:
   دستور(ها)

برای مثال اگر دنباله یک لیست باشد، ابتدا آن لیست ارزیابی می‌شود. سپس، مورد اول در لیست به متغیر_حلقه اختصاص داده می‌شود. سپس، بلوک دستورات اجرا می‌شود. به ترتیب هر مورد در لیست به متغیر_حلقه اختصاص داده می‌شود و بلوک دستور(ها) تا انتهای دنباله اجرا می‌شود.

نمودار جریان

حلقه for در پایتون

مثال

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)

یک روش جایگزین برای تکرار ، استفاده از اندیس دنباله است. در زیر یک مثال ساده آورده شده است −

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() که تعداد کل عناصر در تاپل را به ما می‌دهد و همچنین تابع داخلی range() برای ایجاد دنباله اعداد، یک حلقه ایجاد نمودیم

استفاده از دستور else با حلقه for

در پایتون می توانیم دستور else را به همراه دستور for استفاده کنیم

  • اگر دستور else با حلقه for استفاده شود، دستور else زمانی اجرا می‌شود که حلقه تمام عناصر لیست را تکرار کرده باشد.

مثال زیر ترکیبی از دستور else با دستور for را نشان می‌دهد که اعداد اول را از ۱۰ تا ۲۰ بررسی می کند. (منظور از عدد اول عددیست که به غیر از خودش و یک ، به عدد دیگری قابل تقسیم نباشد)

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'
		break

زمانی که کد بالا اجرا می‌شود، نتیجه زیر را تولید می‌کند −

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