Python للذكاء الاصطناعي مبتدئ · Beginner 12 دقيقة

الحلقات

Loops

تكرار العمليات باستخدام for وwhile، والتحكم فيها بـ break وcontinue.

تقدّمك في المسار0%

الحلقة for

for epoch in range(1, 4):
    print("دورة التدريب", epoch)

range(start, stop, step) تولد أعداداً من start حتى ما قبل stop.

المرور على عناصر قائمة:

models = ["SVM", "Random Forest", "CNN"]
for m in models:
    print(m)

enumerate وzip

for i, m in enumerate(models):
    print(i, m)          # الفهرس والعنصر

names = ["أ", "ب"]
scores = [0.8, 0.9]
for n, s in zip(names, scores):
    print(n, s)

الحلقة while

loss = 1.0
while loss > 0.1:
    loss *= 0.5
print(loss)   # 0.0625

تأكد من أن الشرط سيصبح خاطئاً في وقت ما، وإلا ستحصل على حلقة لانهائية.

break وcontinue

for x in [3, -1, 4, 0, 5]:
    if x < 0:
        continue      # تخطَّ القيم السالبة
    if x == 0:
        break         # توقف عند الصفر
    print(x)          # يطبع 3 ثم 4

القوائم المولَّدة

صيغة مختصرة لبناء قائمة من حلقة:

squares = [x ** 2 for x in range(5)]      # [0, 1, 4, 9, 16]
evens = [x for x in range(10) if x % 2 == 0]

في تحليل البيانات الكبيرة نتجنب الحلقات الصريحة قدر الإمكان ونستخدم العمليات المتجهة في NumPy وpandas، كما سنرى لاحقاً.

مصطلحات الدرس

الحلقة اللانهائية Infinite Loop
حلقة while لا يصبح شرطها خاطئاً أبداً فتستمر دون توقف.
الكائن القابل للتكرار Iterable
كائن يمكن المرور على عناصره واحداً تلو الآخر مثل القوائم والنصوص والقواميس وrange.

الملخص

الحلقة for تمر على عناصر كائن قابل للتكرار مثل القائمة أو النطاق range، والحلقة while تكرر ما دام الشرط صحيحاً. تتيح break إنهاء الحلقة وcontinue تخطي التكرار الحالي، وتساعد enumerate وzip على المرور على الفهارس أو على أكثر من تسلسل معاً.

أسئلة مراجعة

  1. ما القيم التي يولدها range(2, 8, 2)؟

    2 و4 و6، لأن النهاية 8 غير مشمولة.

  2. ما الفرق بين break وcontinue؟

    break تنهي الحلقة كلها، وcontinue تتخطى بقية التكرار الحالي وتنتقل إلى التالي.

المصادر والمراجع

  1. More Control Flow Tools: for Statements — Python documentation
  2. The range() Function — Python documentation

إكمال الدرس