فهرست مندرجات[پنهان شدن][نمایش]
در آخرین آموزش با حلقههای while و نحوه اجرای چندباره یک بلوک کد آشنا شدیم.
در پایتون، ما انواع دیگری از حلقه ها مانند "حلقه برای" و "حلقه تودرتو" داریم. بیایید ببینیم چگونه از آنها استفاده می شود.
برای حلقه ها
ما از "for loop" برای تکرار روی آیتم های یک مجموعه، مانند یک رشته استفاده می کنیم. از آنجایی که رشته دنباله ای از کاراکترها است، مانند یک مجموعه به نظر می رسد. بنابراین، میتوانیم از یک حلقه for برای تکرار روی هر کاراکتر در یک رشته استفاده کنیم و سپس کاری با آن انجام دهیم.
در اینجا یک مثال است
ما "for" را تایپ می کنیم و سپس یک متغیر و سپس یک رشته.
for item in 'Python':
در اینجا "اقلام" به معنای کاراکترهای کلمه Python است. در اولین تکرار حلقه، آیتم به معنای P، تکرار دوم به معنای 'y' و غیره است. بیایید این را اجرا کنیم
می توانید ببینید که هر کاراکتر در این رشته در یک خط جدید چاپ شده است.
بیایید به مثال دیگری نگاه کنیم. در پایتون میتوانیم لیستها را با استفاده از براکت تعریف کنیم. بنابراین اجازه دهید فهرستی را با استفاده از کروشه تعریف کنم.
for item in ['Shahbaz', 'Aayush', 'Jay']:
print(item)
اکنون این سه نام را در خطوط جداگانه فهرست می کند.
همچنین می توانیم از لیستی از اعداد در این تنظیمات استفاده کنیم. به جای تایپ همه اعداد از 0 تا 9، از تابع "Range" برای ساده کردن چیزها استفاده می کنم. بیایید ببینیم چگونه انجام می شود.
for item in range(10):
print(item)
همچنین می توانیم آن را طوری برنامه ریزی کنیم که با 0 شروع نشود.
for item in range(5, 10):
اعداد 5 تا 9 را روی ترمینال چاپ می کند.
تابع "Range" همچنین می تواند مراحل را به عنوان ورودی انجام دهد. پس اگر اینطور بنویسیم:
for item in range(5, 10, 2):
5، 7 و 9 را چاپ می کند، یعنی بعد از هر بار تکرار دو گام به جلو می رود.
ورزش
حالا این یک تمرین برای شماست. من از شما می خواهم برنامه ای بنویسید که هزینه کل تمام اقلام یک سبد خرید را محاسبه کند. بنابراین فرض کنید ما لیستی از قیمتهایی مانند 10، 20 و 30 داریم، میخواهم از حلقه for برای محاسبه هزینه کل تمام اقلام در سبد خرید خیالی خود استفاده کنید.
مغز خود را به کار بیندازید و ببینید آیا می توانید آن را انجام دهید یا خیر. تقلب نکنید.
راه حل
می توانید با لیست کردن قیمت ها به این صورت شروع کنید.
prices = [10, 20, 30]
اکنون یک متغیر برای قیمت کل اضافه کنید که برای اولین بار از 0 شروع می شود.
total = 0
در اینجا حلقه for ما است.
for price in prices:
total = total + price
// می توان آن را ساده کرد total += price
print(f"Total: {total}")
حلقه های تو در تو
در پایتون، استفاده از یک حلقه تودرتو اساساً به معنای افزودن یک حلقه در داخل یک حلقه دیگر است و با این تکنیک میتوانیم کارهای شگفتانگیزی انجام دهیم. به عنوان مثال، ما می توانیم به راحتی لیستی از مختصات تولید کنیم.
همانطور که می دانید یک مختصات ترکیبی از مقادیر "x" و "y" است. فرض کنید 0 و 0. حال فرض کنید می خواهید لیستی از مختصات را به این صورت ایجاد کنید. ما 0 و 0 داریم، سپس 0 و 1 و سپس 0 و 2 خواهیم داشت.
در مرحله بعد، "x" را تغییر می دهیم. از 1 برای 'x' استفاده می کنیم و یک بار دیگر از این 3 مقدار برای مختصات 'y' استفاده می کنیم.
ما به راحتی می توانیم این مختصات را با استفاده از حلقه های تو در تو ایجاد کنیم.
بگذار تا نشانت دهم.
for x in range(4):
for y in range(3):
print(f'({x}, {y}')
بیایید خروجی را بررسی کنیم:
بنابراین اجازه دهید دقیقاً نحوه اجرای این برنامه را توضیح دهم. در اولین تکرار حلقه بیرونی ما، 'x' 0 است. اکنون در خط 2 هستیم، در اینجا یک حلقه جدید داریم که آن را حلقه داخلی می نامیم. در این حلقه داخلی، در اولین تکرار، 'y' 0 خواهد بود، بنابراین 0 و 0 روی ترمینال چاپ می شوند.
اکنون کنترل به خط 2 یا حلقه داخلی ما برمی گردد. در این تکرار دوم، 'y' روی 1 تنظیم می شود، اما ما هنوز در اولین تکرار حلقه بیرونی خود هستیم. بنابراین 'x' هنوز 0 است، اما اکنون 'y' به 1 افزایش می یابد.
به همین دلیل است که ما 0 و 1 را در ترمینال می بینیم. این کار تا زمانی که حلقه داخلی ما اجرا شود ادامه می یابد و سپس مفسر دوباره به حلقه بیرونی می رود و این روند تا زمانی که حلقه بیرونی کامل شود ادامه می یابد.
چالش
در اینجا یک تمرین برای شما وجود دارد، اما این تمرین کمی چالش برانگیزتر از تمریناتی است که تاکنون انجام داده اید.
با استفاده از حلقه های تو در تو، یک کد برای رسم این شکل F بنویسید:
راه حل
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:
output = ''
//میخواهیم متغیر خروجی را به یک رشته خالی بازنشانی کنیم.
for count in range(x_count):
output += 'x'
print(output)
راه بسیار سادهتری برای اجرای این کار بدون استفاده از حلقههای تودرتو وجود دارد. این را به شما واگذار می کنم تا بفهمید.
بسته شدن
آیا شما هم احساس می کنید که با هر سخنرانی داغ می شود؟
من قطعاً چنین احساسی دارم. من درک آن را برای شما بسیار ساده تر کردم.
بیایید با سخنرانی بعدی خود مسائل را مطرح کنیم.
پاسخ دهید