oruji.github.io
oruji.github.ioPersian Tutorials
ویرایش: 1396/11/2 20:51
A A

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

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

شکل دستور

for iterating_var in sequence: statements(s)

با توجه به مثال بالا آیتم های موجود در sequence یکی یکی به iterating_var اختصاص داده می شوند و درون بلاک statements(s) اجرا می شوند، این تا زمانی تکرار می شود که آیتم های درون sequence به پایان برسند. به مثال زیر توجه کنید:

#!/usr/bin/python3 myList = [1, 2, [3, 4], 5, 6] for myItem in myList: print myItem

خروجی برنامه:

1 2 [3, 4] 5 6

تابع range() در پایتون

این تابع داخلی (build-in)، برای پیمایش درون ترتیبی از اعداد استفاده می شود. تابع range() یک iterator ایجاد می کند که برای حرکت و پیشروی در اعداد از 0 تا n-1 استفاده می شود. برای بدست آوردن شیء ای از لیست برای این ترتیب عددی از تابع تغییر تایپ list() استفاده می کنیم. حالا می توان با استفاده از Loop یا حلقه for درون این لیست پیمایش کرد:

>>> for var in list(range(5)): print (var)

خروجی

0 1 2 3 4

مثال

#!/usr/bin/python3 for letter in 'Python': # traversal of a string sequence print ('Current Letter :', letter) print() fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # traversal of List sequence 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!

پیمایش با استفاده از اندیس ترتیب

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

#!/usr/bin/python3 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() ترتیب عددی به اندازه طول لیست برای پیمایش در حلقه for در اختیار ما قرار می دهد.

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

زبان برنامه نویسی پایتون استفاده از عبارت else را به همراه حلقه for پشتیبانی می کند.

مثال

مثال زیر ترکیب عبارت else با حلقه for را نشان می دهد، که عدد زوج را در لیست داده شده جستجو می کند.

#!/usr/bin/python3 numbers = [11,33,55,39,55,75,37,21,23,41,13] for num in numbers: if num%2 == 0: print ('the list contains an even number') break else: print ('the list doesnot contain even number')

خروجی

the list does not contain even number