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

May 2022


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 و while میتوانید این سوال stackoverflow را ببینید.


5:47:36


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

رایگان


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

دوره اول آموزش جنگو(django)

دوره اول آموزش جنگو(django)

دوره آموزش GraphQL در پایتون

دوره آموزش GraphQL در پایتون

دوره آموزش Celery

دوره آموزش Celery

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم

مصطف

February 2022

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

ارسال نظر