آموزش جامع حلقه تکرار for در پایتون
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
آشنایی و کار با حلقه for در پایتون
در تمامی زبان های برنامه نویسی ، یک حلقه دنباله ای از دستورات است که به طور مداوم تکرار می شود تا هنگامی که به یک شرایط خاصی که از قبل تعیین شده است، برسد. به طور معمول، یک فرآیند خاص انجام می شود، مانند دریافت یک مورد از داده ها و تغییر آن، و سپس برخی از شرایط بررسی می شود مانند این که آیا یک شمارنده به عدد تعیین شده رسیده است یا خیر.
حلقه ها به شما این امکان را می دهند که یک فرآیند را بار ها و بار ها بدون نیاز به نوشتن دستورالعمل های یکسان تکرار کنید. یکی ازاین حلقه های پر کاربرد در پایتون، حلقه for می باشد.
For در پایتون
حلقه for در پایتون برای تکرار بر روی یک دنباله مانند فهرست، تاپل، رشته یا سایر اشیاء قابل تکرار استفاده می شود.
سینتکس حلقه for در پایتون را به صورت زیر می نویسیم:
for val in sequence:
loop body
در اینجا val متغیری است که در هر تکرار مقدار آیتم را در داخل دنباله می گیرد. حلقه ادامه می یابد تا به آخرین مورد در دنباله برسیم. بدنه حلقه for با استفاده از تورفتگی از بقیه کد جدا می شود.
در ادامه با ذکر یک مثال ساده کار با حلقه for در پایتون را نشان داده ایم:
# List of number
numbers = [10, 20, 30, 40, 50, 60, 70, 80, 90]
# variable to store the sum
# iterate over the list
for val in numbers:
sum = sum+val
print("The sum is", sum)
در این مثال دنباله ای از اعداد 10 تا 90 را داریم و می خواهیم حاصل جمع آن ها را به دست آورد و مایش دهیم.
خروجی این قطعه کد به شکل زیر می باشد:
The sum is 450
چگونگی عملکرد حلقه for در پایتون
در پایتون، برای هر شی با متد تکرار پذیر، می توانید از حلقه for استفاده کنید. داشتن یک روش تکرارپذیر اساساً به این معنی است که داده ها را می توانید به صورت فهرست ارائه کنید، جایی که مقادیر بساری به صورت منظم وجود دارد.
شما می توانید تکرارهای خود را با ایجاد یک شی با متدهای ()next و ()iter تعریف کنید. این بدان معناست که وقتی صحبت از حلقههای for در پایتون به میان میآید به ندرت با اعداد خام سروکار خواهید داشت.
حلقه های تو در تو در پایتون
هنگامی که یک بلوک کد دارید که می خواهید x را چند بار اجرا کنید، سپس یک بلوک کد در آن کد قرار دارد و می خواهید y را نیز چندین بار اجرا کنید، از دستوری استفاده می کنید که به عنوان "حلقه تودرتو" شناخته می شود. در پایتون، زمانی که شخصی فهرستی از لیست ها را داشته باشد، از حلقه های تو در تو به شدت استفاده می شود.
for x in range(1, 11):
for y in range(1, 11):
print('%d * %d = %d' % (x, y, x*y))
حلقه for-else در پایتون
حلقه for می تواند یک بلوک else اختیاری نیز داشته باشد. قسمت else در صورتی اجرا می شود که آیتم های دنباله ای برای حلقه استفاده شده باشند. از کلمه کلیدی break می توان برای توقف یک حلقه for استفاده کرد. در چنین مواردی، قسمت دیگری نادیده گرفته می شود. بنابراین، اگر شکستی رخ ندهد، قسمت else حلقه for اجرا می شود. در اینجا یک مثال برای نشان دادن این موضوع آورده ایم:
digits = [10, 100, 1000]
for i in digits:
print(i)
else:
print("No items left.")
خروجی این قطعه کد به شکل زیر می باشد:
10
100
1000
.No items left
در اینجا، حلقه for موارد لیست را تا زمانی که حلقه تمام شود، چاپ می کند. هنگامی که حلقه for تمام می شود، بلوک کد موجود در else را اجرا می کند و«No items left.» را چاپ می کند.
این عبارت for...else را می توان با کلمه کلیدی break برای اجرای بلوک else تنها زمانی که کلمه کلیدی break اجرا نشده است، استفاده کرد.
تابع ()range در پایتون
برای تولید دنباله ای از اعداد از تابع ()range استفاده می کنیم. اعدادی که به وسیله این تابع تولید می شود، در محدوده 0 تا 9 (10 عدد) قرار دارد. همچنین می توانیم اندازه شروع، توقف و گام را به عنوان محدوده (شروع، توقف، اندازه_گام) تعریف کنیم. اگر step_size ارائه نشده باشد، آن را به صورت پیش فرض 1 در نظر می گیریم.
شی محدوده به یک معنا "تنبل" است، زیرا وقتی آن را ایجاد می کنیم، هر عددی را که در آن محدوده هست را تولید نمی کند. با این حال، یک تکرار کننده نیست زیرا از عملیات in، len و __getitem__ را پشتیبانی می کند.
برای وادار کردن این تابع به خروجی تمام آیتم ها، می توانیم از ()function list استفاده کنیم. میتوانیم از تابع ()range در حلقه ها برای تکرار در میان دنباله ای از اعداد استفاده کنیم. می توان آن را با تابع ()len ترکیب کرد تا با استفاده از نمایه سازی از طریق یک دنباله تکرار شود.
مثال زیر این موضوع را روشن خواهد کرد.
print(range(10))
print(list(range(10)))
print(list(range(2, 8)))
print(list(range(2, 20, 3)))
خروجی این قطعه کد را در ادامه آورده ایم.
range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]
در این درس از آموزش پایتون درسمن به مبحث پر تکرار حلقه for پرداختیم. چگونگی ایجاد و استفاده از این دستور را یاد گرفتیم. در ادامه نیز در مورد تابع ()range و کاربرد آن در زبان برنامه نویس پایتون صحبت کردیم. برای تسلط به این مبحث توصیه می کنیم فیلم تدریس در این صفحه را تماشا کنید.
اگر این درس را دوست داشتید و از آن استفاده کردید، نظراتتان را با ما به اشتراک بگذارید
در درس بعد به مبحث آشنایی و کار با حلقه تکرار while در پایتون خواهیم پرداخت.
نظرات دانشجویان
مهندس مهدی خودتی و بس....فدایی داری
خیلی از شما ممنونیم دوست عزیز، امیدواریم همیشه موفق باشید.
با سلام ضمن تشکر از شما استاتید محترم بایستی اعتراف کنم که نحوه تدریس شما در این چند درسی که در مورد python نگاه کردم عالی بوده و جای تقدیر و تشکر را دارد
علیرضا جان سلام، از این که دوره پایتون ما را دنبال میکنید بسیار خوشحال هستیم و امیدواریم توانسته باشیم این زبان دوست داشتنی و محبوب را به خوبی بهتان آموزش داده باشیم.
از حس رضایت شما بسیار خوشحال هستیم و سعی خواهیم کرد همیشه دوره های با کیفیت و مفیدی را برایتان انتشار دهیم.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.