آموزش پایتون python قسمت هشتم

1395/1/12 پوریا جهانبخش 4112

سلام.

قبل از هر چیز میخوام سوال ساده ای رو که جلسه قبل طرح کردم ، جواب بدم.

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

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

از هر 2 راه حل میکنم:

 

آموزش پایتون

 

 

آموزش پایتون


حلقه هایی هستن که میتونیم زمان نوشتن دستور حلقه به جای گذاشتن شرطی که ممکنه نتیجش True یا False باشه، خود مقدار True رو بهش بدیم و از اونجا که در پایان هر دور از حلقه هنگام بررسی با مقدار True مواجه میشه پس بی نهایت میچرخه !
با استفاده از دستور break در بدنه ی حلقه، میتونیم حلقه رو متوقف کنیم ! حالا چه شرط داشت و چه حلقه ی بی پایان بود.

آموزش پایتون


همونطور که میبینید این حلقه قرار بود 1000 دور بچرخه
ولی ما در بدنه ی حلقه شرط کردیم که اگر مقدار number عدد 15 شد، از حلقه خارج بشه.
همچنین به تو رفتگی ها توجه کنید.
سوال:
چرا عدد 15 نمایش داده نشد؟
این یه سواله راحته که دوست دارم خودتون راجع بهش فکر کنید و با جابجایی 2 قطعه از کد برنامه میتونین کاری کنید عدد 15 رو هم نمایش بده!
خودتون رو به فکر کردن راجع به این مسائل عادت بدین، این فکر و تجزیه و تحلیل زمانی به دادتون میرسه که یک برنامه موازی نوشتین و پردازش های شما با هم در تعامل هستند !
همچنین یک مثال ساده هم از حلقه بی پایان میزنم

 

آموزش پایتون


حلقه ی بالا در بدنه ی حلقه چک میکرد که اگر باقیمانده تقسیم مقدار number بر 100 برابر با 0 بود، نمایشش بده، و اگر مقدارش 1000 بود از حلقه خارج شه و همچنین تو هر دور یکی به مقدارش اضافه کنه !
و زمان اجرا بعد از چرخش 1000 دور متوقف شد.
تا حالا تمام مثال هایی که زدم صرفا جهت آموزش بوده.
اما میخوام یه مثال کاربردی تر بزنم

آموزش پایتون


کسانی که نمیدونن پیج html چی هست:
شما فکر کنید ما قرار بود تمامی حروفی که بین <> هست رو همراه با  <> چاپ کنیم.

قبل از هر چیز بگم که در آینده این برنامه رو کامل تر میکنم و یه تجزیه کننده کامل صفحات HTML میذارم جلوتون !
البته همین الان خودتون هم میتونید با چیزهایی که تا الان یاد گرفتین تو این آموزش ها کامل ترش کنید، که مثلا دیتا ("test") رو هم نشون بده.

با یک حلقه ما شروع به پیمایش رشته ای کردیم که یه پیج ساده HTML بود،
شرطی رو برقرار کردیم که اگر کاراکتر متناظر مقدار index در html برابر با > بود، مقدار ایندکس رو تو start_tag ذخیره کنه برای دور های بعدی حلقه!
و در شرط بعدی در صورتی که کاراکتر < بود، از رشته ی html از کاراکتری که عددش start_index بود، تا کاراکتری که همین الان بهش رسیدیم و < هستش رو چاپ کنه !
در پایان میخوام دو دستور not و in رو باهاتون کار کنم.

خیلی ساده هستش و شاید با یه تصویر همشو بفهمید!

آموزش پایتون


حالا شرط گذاری هامون گسترده تر شد،
به مثال زیر توجه کنید:

آموزش پایتون


با استفاده از عملگر in تونستیم تحلیل کنیم کدوم کاراکتر جزو حروف لاتینه و کدوم نیست.
این جلسه حجم مطالب کم بود، ولی برای هضم کردنشون به صورت کامل ( یعنی این که بعدا بتونید نهایت استفاده رو ازش ببرین) نیاز به تمرین زیادی دارین !

مثل همیشه تاکید میکنم که جلسات رو به ترتیب بخونید و یاد بگیرید، نه 2 تا در میون.

حلقه while اینجا تموم نمیشه و 2 قسمت دیگش میمونه واسه جلسه بعد.