iteration به این معنی هست که یک بلوک کد را چندین بار اجرا کنید. ساختار برنامه نویسی که iteration را پیاده سازی می کند حلقه نامیده می شود. در پایتون دو نوع حلقه وجود دارد. حلقه for و حلقه while که در این آموزش تمرکز ما روی حلقه while خواهد بود.

 

راهنمای مطالعه:

حلقه while در پایتون

حلقه بینهایت

حلقه while تودرتو

حلقه while با بلاک else

 

حلقه while پایتون

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

 

این حلقه با استفاده از کلمه کلیدی while و به دنبال آن شرط چرخش حلقه می‌آید:

while condition:
    #body_of_while

body_of_ while مجموعه ای از دستورات پایتون است که نیاز به اجرای مکرر دارد. این مجموعه از دستورات به طور مکرر اجرا می شوند تا زمانی که شرط داده شده False شود.

 

1. ابتدا شرط داده شده بررسی می شود، اگر شرط false باشد، حلقه خاتمه یافته و ادامه برنامه اجرا میشود.

2. اگر شرط درست شود، مجموعه دستورات داخل حلقه اجرا می شوند.

 

این دو مرحله مکرراً تا زمانی که شرط مشخص شده در حلقه while صادق باشد، تکرار می شوند.

 

در اینجا نمونه ای از حلقه while وجود دارد. در این مثال، ما یک متغیر num داریم و مقدار num را در یک حلقه نمایش می دهیم، حلقه دارای یک عملیات افزایشی است که در آن مقدار num را افزایش می دهیم. این مرحله بسیار مهم است، حلقه باید یک عملیات افزایش یا کاهش داشته باشد، در غیر این صورت حلقه به طور نامحدود اجرا می شود.

num = 1

while num < 10:
    print(num)
    num = num + 3

# OUTPUT
1
4
7

 

 

حلقه بینهایت با while true

حلقه بینهایت به حلقه‌ای گفته میشود که پایان ندارد و تا ابد اجرا خواهد شد. while بهترین ابزار برای ایجاد کردن حلقه بینهایت است. برای ایجاد کردن حلقه بینهایت به عنوان شرط میتوانید از کلمه True یا عدد 1 استفاده کنید. در این حالت چون شرط همیشه True است، حلقه تا ابد ادامه خواهد داشت. دقت کنید که استفاده از حلقه بینهایت خطرناک است زیرا منابع زیادی را مصرف میکند. حتما در زمان استفاده از حلقه بینهایت شرطی را مشخص کنید که حلقه را متوقف کند.

 

مثال اول: در کد زیر، کلمه "hello" به طور نامحدود چاپ می شود زیرا شرط همیشه True است:

while True:
   print("hello")

 

مثال دوم: این مثال عدد 1 را به طور نامحدود چاپ می کند زیرا در داخل حلقه، ما مقدار num را تغییر نمیدهیم، بنابراین مقدار num همیشه 1 باقی می ماند و شرط num <5 همیشه درست است:

num = 1
while num<5:
   print(num)

 

 

حلقه while تودرتو

میتوانید حلقه‌ها را داخل یکدیگر قرار دهید. وقتی یک حلقه while داخل حلقه while دیگری وجود داشته باشد، آن را حلقه تو در تو می نامیم. بیایید برای درک این مفهوم مثالی بزنیم:

#statement(s)
while condition_1:
    #statement(s)
    while condition_2: 
        #statement(s)

 

در حلقه‌های تودرتو، به حلقه بیرونی outer و به حلقه درونی inner گفته میشود. نحوه کار به این شکل است به ازای هر چرخش در حلقه بیرونی، حلقه‌ درونی به طور کامل چرخش خواهد کرد.

 

حلقه while با بلاک else در پایتون

ما می توانیم یک بلوک "else" مرتبط با حلقه while داشته باشیم. بلوک "else" اختیاری است. این یک ویژگی اختصاصی برای پایتون است و در دیگر زبان‌های برنامه نویسی پیدا نمیشود. بلوک else زمانی اجرا میشود که حلقه while به طور کامل اجرا شود:

num = 10
while num > 6:
   print(num)
   num = num-1
else:
   print("loop is finished")


# OUTPUT
10
9
8
7
loop is finished

 

اما اگر حلقه به مشکل بخورد و نتواند به طور کامل اجرا شود، بلوک else اجرا نخواهد شد. به عنوان مثال اگر یک حلقه با break متوقف شود، بلوک else اجرا نخواهد شد:

num = 10
while num > 6:
	break
	print(num)
	num = num-1
else:
	print("loop is finished")

# OUTPUT

 

 

تفاوت حلقه while و حلقه for پایتون

در پایتون از دو حلقه while و for میتوان برای اجرای مکرر دستورات استفاده کرد. در ادامه به تفاوت‌ های حلقه while و for پایتون میپردازیم.

 

  • حلقه for در بین آیتم‌های یک آبجکت iterable پیمایش میکند، در حالی که حلقه while به طور ساده تا زمانی که شرط نوشته شده True باشد به دور خود میچرخد.
  • حلقه for زمانی استفاده میشود که تعداد چرخش‌ های حلقه را بدانیم، اما در حلقه while نیازی نیست که تعداد چرخش‌ها را بدانیم.

برای اطلاع بیشتر درمورد تفاوت حلقه for و while میتوانید این سوال stackoverflow را ببینید.



0

Intro

10:38

رایگان

1

Variable

12:30

رایگان

2

String

19:22

رایگان

3

List

8:46

رایگان

4

While

9:6

رایگان

5

If

8:37

رایگان

6

For

6:12

رایگان

7

range

4:17

رایگان

8

break, continue, pass

9:15

رایگان

9

Function

12:32

رایگان

10

List methods

12:11

رایگان

11

Tuple

8:29

رایگان

12

Set

7:47

رایگان

13

Dictionary

9:19

رایگان

14

Module

10:40

رایگان

15

fstring

5:35

رایگان

16

format

7:34

رایگان

17

File

17:14

رایگان

18

Scope

6:25

رایگان

19

OOP

12:15

رایگان

20

Method

20:19

رایگان

21

class/instance variable

14:7

رایگان

22

class/static method

13:25

رایگان

23

Inheritance

17:6

رایگان

24

Special methods

9:50

رایگان

25

Access points

11:12

رایگان

26

property

6:54

رایگان

27

Exceptions

21:17

رایگان

28

Standard library

12:51

رایگان

29

Docstring

10:49

رایگان

30

Virtualenv

11:2

رایگان

دوره های پیشنهادی

آموزش پیشرفته جنگو - ساخت فروشگاه اینترنتی
دوره اول آموزش فلسک(Flask)
دوره اول آموزش فلسک(Flask)
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش asyncio در پایتون
دوره آموزش asyncio در پایتون
تکمیل ضبط
امیرحسین بیگدلو



ارسال نظر


Amin

1 ماه قبل پاسخ به نظر

سلام
ای کاش یه مثال برای حلقه تو در تو While می گفتید؟

ارسال نظر



امیر عماد

5 ماه قبل پاسخ به نظر

دمت گرم

ارسال نظر



امیرسام

8 ماه قبل پاسخ به نظر

سپاس فراوان از زحمات شما

ارسال نظر



رضا

10 ماه قبل پاسخ به نظر

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

ارسال نظر



امیرحسین بیگدلو

10 ماه قبل

سلام
خوش باشید :)

طاهره

1 سال قبل پاسخ به نظر

سلام. وقتتون بخیر. خواستم از شما بابت تدریس عالی تون تشکر و قدردانی کنم.

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
خوشحالم که مطالب مفید بوده

سمانه

1 سال قبل پاسخ به نظر

سلام وقتتون بخیر تدریستون عالی هستش خسته نباشید

ارسال نظر



ugds

1 سال قبل پاسخ به نظر

شما از چه IDE استفاده میکنید

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

سلام
من از pycharm استفاده میکنم

Dariush

1 سال قبل پاسخ به نظر

من قبلا از این حلقه بدم میومد چون حلقه for نوشتنشون راحت تر بود و فکر میکردم جفتشون یکی هستن ولی الان فهمیدم هر دو توی جا هاش مختلف کاربرد دارن و for برای پروژه من مناسب نیست الان عاشق جفتشون هستم با تشکر برای متلب شما

ارسال نظر



علی

2 سال قبل پاسخ به نظر

سلام خیلی روان و ساده و عالی تدریس میکنند...
تشکر فراوان

ارسال نظر



سارا

2 سال قبل پاسخ به نظر

ممنون از شما و تدریس دوره

ارسال نظر



مصطف

2 سال قبل پاسخ به نظر

یعنی خدا خیرت بده.بیس تا اموزش دیدم هیچکدوم مثل شما واضح توضیح نداد.خیلی مفهومی و واضح توضیح دادین

ارسال نظر



مونگارد