حلقات التكرار (Loops)
في تطوير الـ Back-end، نلجأ كثيراً للتعامل مع مجموعات كبيرة من البيانات؛ مثل: قراءة قائمة تحتوي على 1000 منتج من قاعدة البيانات، أو إرسال بريد إلكتروني لـ 500 مشترك. من غير المنطقي كتابة الكود لكل عنصر بمفرده، وهنا يأتي دور حلقات التكرار (Loops) لتنفيذ نفس الكود عدة مرات تلقائياً وبأسطر معدودة.
في بايثون، لدينا نوعان أساسيان من حلقات التكرار:
1. الحلقة for تكرار بعدد محدد
نستخدم for عندما نعرف مسبقاً عدد المرات التي نريد تكرار الكود فيها، أو عندما نريد المرور على عناصر قائمة معينة.
نستخدم معها غالباً دالة تُدعى range(start, end)، وهي تولد لنا سلسلة من الأرقام تبدأ من الرقم الأول وتنتهي قبل الرقم الأخير بخطوة.
تطبيق عملي في :
اكتب هذا الكود لتجربة تكرار فحص الآلات في خط إنتاج:
2. الحلقة while تكرار بناءً على شرط
نستخدم while عندما لا نعرف كم مرة سيتكرر الكود، ولكننا نريد استمرار التكرار طالما أن هناك شرطاً معيناً لا يزال صحيحاً (True). بمجرد أن يصبح الشرط خاطئاً (False)، تتوقف الحلقة فوراً.
هذا المفهوم هو الأساس الذي تعمل به السيرفرات (تظل تعمل وتنتظر طلبات المستخدمين ولا تتوقف إلا إذا أطفأنا السيرفر).
تطبيق عملي في PyCharm:
لنصنع برنامجاً يطلب كلمة مرور، ولا يسمح للمستخدم بالمرور ويفك القفل إلا إذا كتب الكلمة الصحيحة (مثلاً: 1234):
في تطوير الـ Back-end، نلجأ كثيراً للتعامل مع مجموعات كبيرة من البيانات؛ مثل: قراءة قائمة تحتوي على 1000 منتج من قاعدة البيانات، أو إرسال بريد إلكتروني لـ 500 مشترك. من غير المنطقي كتابة الكود لكل عنصر بمفرده، وهنا يأتي دور حلقات التكرار (Loops) لتنفيذ نفس الكود عدة مرات تلقائياً وبأسطر معدودة.
في بايثون، لدينا نوعان أساسيان من حلقات التكرار:
1. الحلقة for تكرار بعدد محدد
نستخدم for عندما نعرف مسبقاً عدد المرات التي نريد تكرار الكود فيها، أو عندما نريد المرور على عناصر قائمة معينة.
نستخدم معها غالباً دالة تُدعى range(start, end)، وهي تولد لنا سلسلة من الأرقام تبدأ من الرقم الأول وتنتهي قبل الرقم الأخير بخطوة.
تطبيق عملي في :
اكتب هذا الكود لتجربة تكرار فحص الآلات في خط إنتاج:
# تكرار الكود 5 مرات (من 1 إلى 5)
print("بدء عملية الفحص الدوري للآلات:")
for count in range(1, 6):
print("جاري فحص الآلة رقم:", count)
print("اكتمل فحص جميع الآلات بنجاح.")
2. الحلقة while تكرار بناءً على شرط
نستخدم while عندما لا نعرف كم مرة سيتكرر الكود، ولكننا نريد استمرار التكرار طالما أن هناك شرطاً معيناً لا يزال صحيحاً (True). بمجرد أن يصبح الشرط خاطئاً (False)، تتوقف الحلقة فوراً.
هذا المفهوم هو الأساس الذي تعمل به السيرفرات (تظل تعمل وتنتظر طلبات المستخدمين ولا تتوقف إلا إذا أطفأنا السيرفر).
تطبيق عملي في PyCharm:
لنصنع برنامجاً يطلب كلمة مرور، ولا يسمح للمستخدم بالمرور ويفك القفل إلا إذا كتب الكلمة الصحيحة (مثلاً: 1234):
# تعيين كلمة المرور الصحيحة
correct_password = "1234"
# استقبال المحاولة الأولى من المستخدم
user_input = input("الرجاء إدخال رمز المرور للدخول إلى النظام: ")
# استمرار التكرار طالما أن المدخل غير صحيح
while user_input != correct_password:
print("❌ رمز المرور خاطئ! تم رفض الدخول.")
# نطلب الإدخال مجدداً داخل الحلقة حتى نمنحه فرصة أخرى، وإلا ستستمر الحلقة للأبد
user_input = input("حاول مرة أخرى: ")
# هذا السطر خارج الحلقة، لن يصل إليه البرنامج إلا إذا كُسر الشرط وأصبح المدخل صحيحاً
print("🔓 تم التحقق بنجاح. مرحباً بك في لوحة التحكم!")
❤4