مرحبا
لدي تساؤل عن حلقة while في بايثون وكيف تعمل، وبماذا ستُفيدني؟ ومالفرق بينها وبين... for ... in ؟؟!!
لدي تساؤل عن حلقة while في بايثون
ما هو التساؤل؟
تفيد حلقة «طَاْلَمَا» while بِتكرار عمليَّة/عمليَّات طالما الشرط متحقِّق.
عملها: تتفقَّد الشَّرط المُقَدَّم لَها فإن تَحقَّق(أي عاد بالقيمة True) عندها تنفِّذ العمليَّات وَتبقى تفحص تحقُّق الشَّرط وَالقيام بالعمليَّات لحين انتفاء الشرط(عودته بالقيمة False) وَعندها تنكسر الحلقة وَتنتهي حياتها!.
الفرق عن حلقة «لِأَجْلِ» for هو أنَّ حلقة for تقوم بالعمليَّات من أجل كل عنصر من سلسلة ما!
while و for .. in الإثنين تمسى loop
تستعمل for ... in للمرور على العناصر. بحيث أنك مكان الثلاث نقاط تضع متغير
أنظر إلى هذه القائمة (تسمى list في لغة python)
[1, 2, 3, 4]
فيها عدة عناصر نمرّ عليها بهذه الطريقة
for element in [1, 2, 3, 4]:
print(element)
تستعمل while إذا كنت تريد في كل مرور (لفة) عمل شيء على متغير (كالزيادة أو النقصان) انظر إلى هذا المتغير
i = 0
كما ترى لدينا في البداية متغير ويحمل القيمة 0، اﻵن نريد أن نكتب برنامج يطبع الأعداد من 0 إلى 9 بهذه الطريقة
i = 0
while i < 10:
print(i)
i = i + 1
لاحظ أنه يجب أن نعرف البداية والنهاية ثم كيف نصل إلى هذه النهاية:
عرفنا البداية أنها 0 (سننطلق من الصفر) لأننا أعطينا للمتغير i صفر.
والنهاية عند 10 لأننا قلنا لـ while إذا كان المتغير i اصغر من 10 يعني إذا كان يساوي أو أكبر من 10 نتوقف هنا.
ﻻحظ آخر سطر هو الذي يرشدنا كيف نصل إلى 10 وذلك بزيادة المتغير i في كل مره عن طريق الخطوات التالية:
الخطوة الأولى: يختبر الشرط ( i < 10) فيجده صحيح ثم يدخل في while ويطبع قيمته ثم يزيده بواحد.
الخطوة الثانية: يرجع مرة أخرى يجد الشرط صحيح لأن 1 أصغر من 10 ثم يعمل الخطوة الأولى.
وهكذا يكرر الخطوتين السابقة حتى تصبح الـ i تساوي 9.
التعليقات