آموزش حلقهی for در پایتون
از یک حلقهی for در پایتون، برای تکرار روی یک دنباله(که میتواند یک لیست یا یک تاپل یا یک دیکشنری یا یک مجموعه یا همان Set یا یک رشته باشد) استفاده میشود. حلقهی for در پایتون، کمتر شبیه به حلقهی for در دیگر زبانهای برنامه نویسی است و بیشتر شبیه به یک متد تکرار شونده کار میکند که در سایر زبانهای برنامهنویسی شیءگرا یافت میشود.
با استفاده از حلقهی for میتوانیم یک مجموعه از دستورات را، برای هریک از آیتم های درون یک لیست(list) یا تاپل(tuple) یا مجموعه(set) یا غیره، یک بار اجرا کنیم.
مثال شماره 1
پرینت کردن نام هر میوه که در لیست fruits قرار دارد:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
نتیجه:
apple
banana
cherry
امتحان کنیددر حلقهی for نباز نداریم که از یک متغیر در ابتدا، برای تنظیم اندیس استفاده کنیم.
حلقه زدن روی یک رشته(String) در پایتون
حتی رشتهها هم اشیائی تکرار پذیر هستند؛ زیرا آنها حاوی یک دنباله از کاراکترها هستند:
مثال شماره 2
حلقه زدن روی حروف کلمهی "banana":
for x in "banana":
print(x)
نتیجه:
b
a
n
a
n
a
امتحان کنیداستفاده از دستور break
با استفاده از دستور break میتوانیم حلقه را متوقف کنیم، قبل از اینکه این حلقه روی تمام آیتمها حلقه بزند:
مثال شماره 3
خارج شدن از حلقه، هنگامی که x برابر با "banana" میشود:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
نتیجه:
apple
banana
امتحان کنیدمثال شماره 4
خارج شدن از حلقه، هنگامی که x برابر با "banana" است، اما این دفعه دستور break قبل از دستور print قرار گرفته است:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
نتیجه:
apple
امتحان کنیداستفاده از دستور continue
با استفاده از دستور continue میتوانیم به تکرار فعلی از حلقه، پایان دهیم(یعنی تکرار فعلی را متوف کنیم) و به دورهای بعدی حلقه ادامه دهیم:
مثال شماره 5
banana را پرینت نکن:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
نتیجه:
apple
cherry
امتحان کنیداستفاده از تابع range()
برای حلقه زدن روی یک مجموعه از کدها به تعدادی مشخص، میتوانیم از تابع range() استفاده کنیم. تابع range() یک دنباله از اعداد را برمیگرداند که به طور پیش فرض، از 0 شروع می شوند و (به طور پیش فرض) به مقدار 1 واحد افزایش پیدا میکنند و در یک عدد مشخص شده، پایان پیدا میکند.
نکته: توجه کنید که دستور range(6) مقادیری از 0 تا 6 را ایجاد نمیکند، بلکه مقادیری از 0 تا 5 را ایجاد میکند.
تابع range() به طور پیش فرض از مقدار 0 بعنوان مقدارِ شروع استفاده میکند اما این امکان وجود دارد که با اضافه کردن یک پارامتر دیگر در این تابع، مقدار شروع را نیز مشخص کنیم. مثلاً دستور range(2, 6) یعنی اینکه مقادیر مورد نظر، از 2 تا 6 تولید شوند(اما شامل خود 6 نمیشود):
در تابع range() اعداد دنباله به طور پیش فرض، به مقدار 1 واحد اضافه میشوند، اما این امکان وجود دارد تا با اضافه کردن یک پارامتر سوم، مقدارِ افزایش را نیز مشخص کنیم، مانند دستور range(2, 30, 3):
مثال شماره 8
افزایش دادن دنباله با مقدار 3(مقدار پیش فرض 1 است):
for x in range(2, 30, 3):
print(x)
نتیجه:
2
5
8
11
14
17
20
23
26
29
امتحان کنیداستفاده از Else در حلقهی For:
کلمهی کلیدی else در یک حلقهی for، یک بلوک از کدها را مشخص میکند؛ که وقتی حلقه به پایان رسید، اجرا شوند:
مثال شماره 9
پرینت کردن تمام اعداد از 0 تا 5 و پرینت کردن یک پیغام، هنگامی که حلقه به پایان برسد:
for x in range(6):
print(x)
else:
print("Finally finished!")
نتیجه:
0
1
2
3
4
5
Finally finished!
امتحان کنیدنکته: اگر حلقه با استفاده از دستور break متوقف شده باشد، کدهای بلوک else اجرا نخواهند شد.
مثال شماره 10
شکستن(break کردن) یک حلقه، وقتی که x برابر با 3 است و دیدن اینکه برای بلوک else چه اتفاقی میافتد:
for x in range(6):
if x == 3: break
print(x)
else:
print("Finally finished!")
#اجرا نخواهد شد else متوقف شده باشد بلوکbreak اگر حلقه با دستور
نتیجه:
0
1
2
امتحان کنیداستفاده از حلقههای تودرتو در پایتون
حلقهی تودرتو، درواقع به حلقهای گفته میشود که خودش در داخل یک حلقهی دیگر قرار داشته باشد. هربار که حلقهی بیرونی تکرار میشود، حلقهی داخلی نیز یک بار اجرا میشود:
مثال شماره 11
پرینت کردن هر صفت برای هر میوه:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
نتیجه:
red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherry
امتحان کنیداستفاده از دستور pass در حلقهی for
حلقههای for نمیتوانند خالی باشند؛ اما اگر به هر دلیلی یک حلقهی for دارید که هیچ محتوایی ندارد، از دستور pass در آن استفاده کنید تا از ایجاد خطا(error) جلوگیری شود.
مثال شماره 12
for x in [0, 1, 2]:
pass
# در داخل آن استفاده کنید تا خطایی ایجاد نشود pass خالی مانند کد بالا دارید از دستور for اگر یک حلقه ی
نتیجه:
امتحان کنید
منبع: www.w3schools.com/python
- بازدید: 18
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.