/Python: Part(7)

Python: Part(7)

في المرة اللي فاتت اتكلمنا عن ال(Conditional Statements ) وعرفنا ازاي نكتب الكود بتاعها وازاي نتعامل معاها .المرادي ان شاء الله هنتكلم عن ال(loop) بما اننا مادينهاش اهمية كبيرة المرة اللي فاتت او ما اتكملناش عنها تقريبا. ومقالة النهارده هحاول انها تبقى صغيرة عشان مندخلش في مواضيع تانية دلوقتي وهنكتفي بشرح ال(loops) النهارده .

قبل ما نتلكم عن ال(loops) تعالوا نعرف ليه احنا محتاجينها ؟

طبعا في البرمجة ممكن تحتاج انك تكرر جملة معينة اكتر من مرة . او تكرر سؤال معين اكتر من مرة او تعمل اي حاجة اكتر من مرة وبدل ما تكتب الكود بعدد المرات اللي عاوزه يتكرر ، هتكتبها مرة واحدة في (loop) وهي تتنفذ بعدد المرات اللي انت عاوزها .

في البايثون في نوعين من ال(loops)

1- while loop

2- for loop

لحد هنا كلام حلو وجميل .تعالوا بقى نشوف ازاي هنتعامل مع ال(loops) وايه الفرق بين كل نوع منهم .

 

اللي جاي دا مثال بيطبع الارقام من (1-100) بس هنعملها مرتين .. المرة الاولى هنكتب الجمل بايدينا والمرة التانية هنستخدم ال(loop) في البايثون وهنعرف ازاي نتعامل معاه .

المثال الاول :

طبعا الكود مكتوب باختصار بس المفروض انه مكتوب 100 مرة .ودا هيبقى ال(output) بتاع الكود اللي فات:

طيب بما اننا اتعلمنا البايثون عشان نكتب كود سهل ومنظم وصغير، الطبيعي اننا مش هنعمل الطريقة اللي فاتت دي في الشغل ، فأكيد هنستخدم ال(loop)

تعالوا بقى ناخد اول نوع من انواع ال(loops) :

While Loop :

بكل بساطة هنكتب الشرط وبعد كدا هنكتب اللي عاوزينه يتنفذ . وطول ما الشرط متحقق ، الكود هيفضل يتنفذ ويتكرر . تعالوا ننفذ المثال اللي فات بس المرادي باستخدام ال(while loop)

وطبعا هيكون نفس الناتج . هيطبعلنا الارقام من (1-100) وكل رقم في سطر .

ودا مثال تاني ل(while loop) :

هنا عملنا (loop) بياخد اسم من اليوزر ويطبعه – بطريقة ال (String Substitution) ودي اتعلمناها قبل كدا- وتفضل تكرر ال(loop) طول ما ال(name —> null) . يعني لو فضلت تضغط على (Enter) الكود هيفضل يتكرر طول ما انت لسة مدخلتش قيمة للمتغير .ولما تدخل قمية للمتغير بتاعك هيتنفذ ويطلع من ال(loop).

ناخد مثال تالت عشان الفكرة تثبت 🙂

البرنامج دا مكتوب في ال( ipython ) ودا بردو اتكلمنا عنه قبل كدا في الجزء الاول من سلسلة البايثون

 

 

هنا عملنا كاونتر ، وطول ما الكاونتر اقل من 10 البرنامج هيطبع (حاصل جمع القيمة اللي متخزنة في الكاونتر +الرقم اللي بيزيد معايا كل مرة) وهيطبع كل ناتج في سطر بردو .

 

كدا احنا بقينا بنعرف نعمل (loop) ونخلي الكود يتنفذ كذا مرة طيب ايه لازمة النوع التاني بقى من ال(loops) ؟

ال(while loop) بتنفذ بلوك معين من الكود بعدد معين من المرات طول ما شرط التكرار متحقق ، بس احيانا المبرمج بيحتاج انه يكرر الكود بتاعه بشكل معين أو بترتيب معين المبرمج هو اللي بيحدده ، عشان كدا ال(for loop) اتعملت .

FOR LOOP

مثال :

هنا احنا ادينا للبرنامج (list) وسمينها (x) وخليناه يتعامل معاها بال(for loop) وقولناله اطبع العناصر اللي جوا ال(list).

ودا هيكون ال(output) :

ممكن ناخد مثال تاني على ال(for loop) وهو بيتعامل مع ال(Dictionary) :

نفس الحكاية هنا ، عملنا (dictionary) وخلينا ال(for loop) تشتغل عليها بحيث انها تطبعلنا ال (key) وال(value).

ناخد المثال التالت والأخير على ال(for loop) :

وفي المثال دا احنا ادينا للبرنامج (list) فيها كذا اسم وقولتله يطبعهم في بستخدام ال(for loop)

 

كدا احنا خلصنا ال(loops) ياريت تكتبو الاكواد دي وغيروا فيها ولخبطوا الدنيا زي ما انتو عاوزين وشوفوا ايه اللي بيحصل والدنيا ماشية ازاي عشان المعلومة تثبت اكتر واكتر 🙂

المرة الجاية ان شاء الله هنتكلم عن حاجة جديدة اسمها ال(Abstraction) وهنعرف هي ايه!! وبتتكلم عن ايه باذن الله . تابعونا ،،،