حلقه for (قسمت اول)

حلقه

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

 

حلقه  for

وظیفه این حلقه این است که یک مقدار قابل پیمایش را پیمایش کند. برای مثال تک تک حروف یک رشته یا اعضای یک لیست. استفاده از این حلقه به این صورت است که ابتدا کلمه for را نوشته و بعد اسم یک متغیر دلخواه را مینویسیم تا در هر دور از حلقه، موارد پیمایش شده به ترتیب درون آن حلقه قرار گیرد. سپس “ in “ تا بعد از آن چیزی که میخواهیم آن را پیمایش کنیم را بیاوریم.

به مثال زیر توجه کنید:

for i in "Farkiantech":
    print(i)
    
# F
# a
# r
# k
# i
# a
# n
# t
# e
# c
# h

در اینجا، حلقه for عبارت farkiantech را پیمایش میکند، و هر بار یک حرف از آن در متغیر i ریخته میشود. پس در نهایت این حلقه ۱۱ بار اجرا میشود.

حال میخواهیم برنامه ای بنویسیم که اعداد یک تا صد را چاپ کند، برای اینکه نخواهیم دستور print را صد بار بنویسیم از حلقه استفاده میکنیم. قرار است یک بازه عددی یا یک رِنج (range) از ۱ تا ۱۰۰ پیمایش شود، تابعی در پایتون به نام range وجود دارد که برای ما این بازه را به وجود می آورد.

به کد زیر دقت کنید:

for i in range(100):
    print(i+1)

# ۱
# ۲
# ۳
# ...
# ۹۸
# ۹۹
# ۱۰۰

در خط اول، range(100) یک بازه از ۰ تا ۹۹ آماده میکند و حلقه for این بازه را پیمایش میکند. در دستور print از i+1 استفاده کرده ایم که به جای ۰ تا ۹۹، ۱ تا ۱۰۰ چاپ شود.

میتوانیم از تابع range به شکل دیگری هم استفاده کنیم، اگر بنویسیم range(1, 101) آنگاه یک باز از خود مقدار اول تا یکی قبل از مقدار دوم تشکیل میشد یعنی ۱ تا ۱۰۰٫ حتی میتوانیم مقدار سوم هم به range بدهیم تا مقدار پرش این بازه را مشخص کنیم. برای مثال:

for i in range(1, 101, 3):
    print(i)

# ۱
# ۴
# ۷
# ۱۰
# ...
# ۹۱
# ۹۴
# ۹۷
# ۱۰۰

در اینجا تابع range عدد ۳ را به عنوان سومین آرگومان گرفته است، پس این بازه به فاصله های سه تایی تشکیل میشود.

در جلسه بعد درمورد بخش دوم حلقه for صحبت خواهیم کرد.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.