LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

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

پنجشنبه, ۲۲ خرداد ۱۳۹۳، ۱۱:۰۰ ب.ظ

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

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

while expression:
     statement(s)

statement در این بخش میتواند یک جمله یا چندین جمله و خط باشد. شرطی که مورد بررسی قرار میگیرد نیز میتواند هر جمله ای باشد. نکته ای که لازم هست یاآوری کنم اینه که در حلقه ها هم مثل شرط ها باید قاعده indentation رعایت بشه.


شمای حلقه های while


مثال

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

#!/usr/bin/python
count = 0
while (count < 9):
   print 'The count is:', count
   count = count + 1
print "Good bye!"


بعد از اجرای کد خروجی مشابه زیر دریافت خواهید کرد:

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!


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

حلقه های بی نهایت به حلقه هایی گفته میشود که انتها ندارند و هیچ گاه به حالت false نمیرسند. شما باید هنگام استفاده ازین حلقه ها جوانب احتیاط رو رعایت کنید چرا که ممکنه هیچ وقت شرطی که قرار دادید false نشه و همیشه true باشه. حلقه های بی نهایت بیشتر در برنامه های کلاینت سروری که نیازه تا دائما ارتباط برقرار باشه استفاده میشه.

در زبان پایتون raw_input برای سوال از کاربر جهت وارد کردن مقدار استفاده میشه که در مثال زیر هم اومده. مثال زیر نوعی از حلقه های بی نهایت هست که همیشه سوال میپرسه از کاربر. بخاطر همین مقدار بعد از حلقه loop هیچ گاه به نمایش در نمیاد و شما برای خارج شدن از برنامه مجبور هستید تا کنترل سی بزنید:

#!/usr/bin/python
var = 1
while var == 1 :  # This constructs an infinite loop
   num = raw_input("Enter a number  :")
   print "You entered: ", num
print "Good bye!"


با اجرا شدن این کد خروجی مشابه زیر دریافت خواهید کرد:

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number between :Traceback (most recent call last):
  File "test.py", line 5, in <module>
    num = raw_input("Enter a number :")
KeyboardInterrupt


بکاربردن else همراه با while

در حلقه های for شما وقتی از else استفاده میکنید که شرط for تمام شده باشه و شما بخواین چیز دیگه ای رو چک کنید اما در حلقه های while وقتی از else استفاده میکنید که شرط while نادرست یا flase باشه.


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

#!/usr/bin/python
count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"


بعد از به اجرا درآوردن کد خروجی زیر را دریافت خواهید کرد:

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5


حلقه های تک جمله ای

شما میتونید حلقه هایی رو که فقط یک جمله رو به جای چندین جمله و خط بررسی میکنه رو با while بنویسید. البته من پیشنهاد میکنم مثال زیر رو اجرا نکنید و فقط ببینید. چون مثال زیر یک حلقه بی نهایت هست و تنها راه قطع کردن برنامه اینه که یک یا چند بار کنترل سی بزنید:

#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی