القائمة الرئيسية

الصفحات

الدرس 2: الشروط والتكرار في بايثون (if, for, while)



في عالم البرمجة، لا تقتصر كتابة البرامج على سرد أوامر متتالية، بل يتطلب الأمر أن تكون البرامج قادرة على اتخاذ قرارات ذكية وتنفيذ أوامر معينة بناءً على ظروف محددة. كذلك، من الضروري أن تتمكن البرامج من تكرار تنفيذ عمليات معينة دون الحاجة إلى إعادة كتابة الكود عدة مرات. وهنا يأتي دور "التحكم في تدفق البرنامج" أو Control Flow، وهي إحدى الركائز الأساسية التي يقوم عليها منطق البرمجة، لا سيما في لغة Python التي تُعرف بسهولتها ومرونتها للمبتدئين والمحترفين على حد سواء.

من خلال هذا المقال، سنستعرض بالتفصيل كيفية استخدام الشروط والحلقات التكرارية في Python، مع توضيحات عملية وأمثلة متنوعة تساعدك على الفهم العميق لهذه الأدوات الأساسية، والتي تُستخدم في بناء كل شيء من السكربتات البسيطة إلى التطبيقات المعقدة.

 أولًا: الجمل الشرطية (Conditional Statements)

الجمل الشرطية تُمكّنك من كتابة برامج يمكنها اتخاذ قرارات. وهي تشبه إلى حد كبير طريقة تفكير الإنسان؛ فعندما تواجه موقفًا معينًا، تتخذ قرارًا بناءً على شروط محددة. في البرمجة، تُترجم هذه القرارات باستخدام جمل if, elif, وelse.

عندما تكتب شرطًا باستخدام if, فأنت تطلب من البرنامج أن يتحقق من صحة تعبير منطقي. فإذا كان التعبير صحيحًا (True)، يتم تنفيذ الكود الموجود داخل الكتلة التابعة له. وإذا لم يكن كذلك، يُمكنك استخدام elif لتجربة شرط آخر، أو else لتنفيذ كود افتراضي في حال لم يتحقق أي شرط سابق.

تخيل مثلًا أنك تطور برنامجًا للتسجيل في دورة تدريبية عبر الإنترنت. يمكنك استخدام الجمل الشرطية للتحقق مما إذا كان المستخدم قد تجاوز السن المسموح به، أو إذا كان قد أكمل مراحل سابقة من التدريب. هذا النوع من القرارات الديناميكية هو ما يجعل برامجنا تتفاعل بشكل طبيعي مع المستخدم أو البيانات.

مثال عملي بسيط على ذلك هو برنامج يطلب من المستخدم إدخال عمره، ثم يعرض له رسالة تصنيف بناءً على العمر:

age = int(input("Enter your age: "))
if age < 13:
print("You are a child.")
elif age < 18:
print("You are a teenager.")
else:
print("You are an adult.")

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


 ثانيًا: الحلقات التكرارية (Loops)

الحلقات التكرارية تُعتبر من أهم الأدوات في Python، لأنها توفر وسيلة فعالة لتنفيذ كود معين مرات متعددة دون الحاجة إلى تكراره يدويًا. تخيلي أنك ترغبين في طباعة الأرقام من 1 إلى 100 — من غير المنطقي كتابة 100 أمر طباعة! بل يمكنك تحقيق ذلك بسطر واحد باستخدام for أو while.

 1. حلقة for

تُستخدم for عندما يكون عدد التكرارات معروفًا مسبقًا أو عندما نريد المرور على عناصر مجموعة مثل قائمة، سلسلة نصية، أو أي كائن قابل للتكرار. على سبيل المثال، إذا كانت لدينا قائمة بأسماء الطلاب، يمكننا استخدام حلقة for لطباعة كل اسم:

students = ["Aya", "Sara", "Youssef", "Ali"]
for name in students:
print("Student:", name)

أو مثلًا، إذا أردنا طباعة جدول الضرب للعدد 5:

for i in range(1, 11):
print(f"5 x {i} = {5 * i}")

ميزة حلقة for أنها بسيطة وتمنحنا تحكمًا دقيقًا في عدد التكرارات، خصوصًا عند استخدامها مع دالة range().

2. حلقة while

في المقابل، تُستخدم while عندما لا يكون عدد التكرارات معروفًا مسبقًا، وإنما نريد تكرار تنفيذ كود ما طالما تحقق شرط معين. مثلًا، برنامج يطلب من المستخدم إدخال كلمة مرور صحيحة، ويستمر في الطلب حتى يتم إدخال الكلمة الصحيحة:

password = ""
while password != "open123":
password = input("Enter the password: ")
print("Access granted!")

ميزة هذه الحلقة أنها تمنح البرنامج قدرة على "الانتظار" حتى تتحقق حالة معينة دون الحاجة لتحديد عدد التكرارات بشكل مسبق.


 أدوات التحكم داخل الحلقات

عند العمل مع الحلقات، هناك حالات نحتاج فيها إلى التوقف عن التكرار قبل أن ينتهي الشرط، أو تخطي تكرار معين، أو حتى ترك مكان فارغ لتنفيذه لاحقًا. لهذا السبب توفر Python أدوات إضافية مثل break, continue, وpass.

  • break تُستخدم لإنهاء الحلقة فوريًا حتى لو لم يتحقق شرط الإنهاء الأصلي. مثال: إذا كنا نبحث عن عنصر معين داخل قائمة، وتحققنا من وجوده، يمكننا الخروج من الحلقة مباشرة.

  • continue تُستخدم لتخطي التكرار الحالي والانتقال إلى التكرار التالي. مفيدة عند وجود شروط استثنائية نرغب بتجاهلها دون إيقاف الحلقة كليًا.

  • pass لا تفعل شيئًا على الإطلاق، وتُستخدم كمكان مؤقت عندما يكون من المطلوب وجود سطر كود، ولكننا لم نقرر بعد ما سنكتبه.

 كيف نستخدم كل هذه الأدوات بذكاء؟

يكمن جوهر البرمجة الفعالة في معرفة متى نستخدم كل أداة. على سبيل المثال، إذا كنت تطور تطبيقًا لإدارة الحضور، فستستخدم الجمل الشرطية للتحقق مما إذا كان الطالب مسجلاً مسبقًا، وتستخدم الحلقات للتعامل مع سجلات متعددة، وتضيف أدوات التحكم مثل break للخروج من الحلقة عند تحقق شرط معين.

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

تعليقات