به آموزشگاه مجازی سینا خوش آمدید!

آموزش حلقه‌ی for در پایتون

امتیاز
(0)

از یک حلقه‌ی 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 واحد افزایش پیدا می‌کنند و در یک عدد مشخص شده، پایان پیدا می‌کند. 

مثال شماره 6

استفاده از تابع range():

for x in range(6):
  print(x) 

نتیجه:

0
1
2
3
4
5
امتحان کنید

نکته: توجه کنید که دستور range(6) مقادیری از 0 تا 6 را ایجاد نمی‌کند، بلکه مقادیری از 0 تا 5 را ایجاد می‌کند. 

تابع range() به طور پیش فرض از مقدار 0 بعنوان مقدارِ شروع استفاده می‌کند اما این امکان وجود دارد که با اضافه کردن یک پارامتر دیگر در این تابع، مقدار شروع را نیز مشخص کنیم. مثلاً دستور range(2, 6) یعنی اینکه مقادیر مورد نظر، از 2 تا 6 تولید شوند(اما شامل خود 6 نمی‌شود):

مثال شماره 7

استفاده از پارامتر شروع:

for x in range(2, 6):
  print(x) 

نتیجه:

2
3
4
5
امتحان کنید

در تابع 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

 

  • بازدید: 19

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال