زمان تخمینی مطالعه:‌ 5 دقیقه

حلقه ها (Loops)


به طور پیش فرض زبان های برنامه نویسی دستورات را خط به خط اجرا می کنند.
حلقه ها یا loop ها این اجازه را به ما می دهند که یک دستور را چندین بار اجرا کنیم.
در پایتون مانند اکثر زبان های برنامه نویسی ما ۲ نوع حلقه رایج داریم :

  • 1- For Loop
  • 2- While Loop
همچنین ۳ ابزار کنترلی برای داخل حلقه ها وجود دارد :
  • 1- Break
  • 2- Continue
  • 3- Pass

For Loop

حلقه for برای حرکت کردن روی آیتم ها و لیست ها و رشته ها مناسب است.

For Loops

for letter in 'iran-python':     # مثال ۱
   print 'Current Letter :', letter

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # مثال ۲
   print 'Current fruit :', fruit

خروجی

Current Letter : i
Current Letter : r
Current Letter : a
Current Letter : n
Current Letter : -
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

While Loop

در حلقه while تا زمانی که شرط آن صحیح باشد دستورات داخل آن تکرار می شوند.

While Loops

i = 0
while (i < 5):
   print 'The i is:', i
   i = i + 1

خروجی

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4

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

Break

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

Break

for letter in 'iran-python':     # مثال ۱
   if letter == 'n':
      break
   print 'Current Letter :', letter
  
var = 10                    # مثال ۲
while var > 0:              
   print 'Current variable value :', var
   var = var -1
   if var == 5:
      break

خروجی

Current Letter : i
Current Letter : r
Current Letter : a
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6

Continue

در حلقه زمانی که شرط continue اجرا شود آن تکرار انجام نشده و ادامه ی تکرار ها انجام می گردد.

Continue

for letter in 'iran-python':     
   if letter == 'p':
      continue
   print 'Current Letter :', letter

خروجی

Current Letter : i
Current Letter : r
Current Letter : a
Current Letter : n
Current Letter : -
Current Letter : y
Current Letter : t
Current Letter : o
Current Letter : n

Pass

زمانی که شرط در pass اتفاق بیفتد قطعه کد مربوط به pass اجرا می گردد و سپس ادامه حلقه اجرا می شود.

Pass

for letter in 'iran-python': 
   if letter == 'p':
      pass
      print 'This is pass block'
   print 'Current Letter :', letter

خروجی

Current Letter : i
Current Letter : r
Current Letter : a
Current Letter : n
Current Letter : -
This is pass block
Current Letter : p
Current Letter : y
Current Letter : h
Current Letter : o
Current Letter : n

نکته : در برنامه نویسی در خیلی از موارد لازم است از حلقه های تو در تو استفاده نماییم که به آن ها Nested Loops می گویند.به مثال زیر توجه فرمایید.

Nested Loops

i = 2
while(i < 50):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
   if (j > i/j) : print i, " is prime"
   i = i + 1

خروجی

2 is prime
3 is prime
5 is prime
7 is prime
11 is prime
13 is prime
17 is prime
19 is prime
23 is prime
29 is prime
31 is prime
37 is prime
41 is prime
43 is prime
47 is prime

لطفا در راستای هرچه بهتر شدن کیفیت مطالب نظر خود را در رابطه با این سرفصل برای ما ارسال نمایید.