الدرس 14 من دورة Python للمبتدئين

الشروط في Python: اجعل البرنامج يقرر بدلًا منك

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

المستوى: مبتدئ جدًا النتيجة: أول قرار برمجي مدة التطبيق: 25 - 30 دقيقة
طريقة CIT للتعلم الهادئ: لا تحفظ if و else ككلمات فقط. افهمها كسؤال وجواب: إذا كان الشرط صحيحًا نفذ هذا، وإلا نفذ شيئًا آخر.
مهم قبل البداية: هذا الدرس يعتمد على input و int التي تعلمناها سابقًا. سنأخذ العمر من المستخدم، ثم نحوله إلى رقم، ثم نقرر حسب قيمته.

ما النتيجة التي يجب أن تخرج بها؟

في نهاية الدرس ستفهم وتكتب هذا البرنامج:

age = int(input("اكتب عمرك: "))

if age >= 18:
    print("مسموح بالدخول")
else:
    print("غير مسموح بالدخول")

إذا كتب المستخدم 20، تظهر رسالة مسموح بالدخول. وإذا كتب 15، تظهر رسالة غير مسموح بالدخول.

if إذا كان الشرط صحيحًا.
else إذا لم يكن الشرط صحيحًا.
المسافة البادئة تحدد السطور التابعة للشرط.
خريطة درس الشروط في Python
تدفق if else في Python
1

ما معنى الشرط في البرمجة؟

الشرط في البرمجة يشبه سؤالًا بسيطًا يجيب عليه البرنامج بنعم أو لا.

مثال:

هل العمر أكبر من أو يساوي 18؟

إذا كانت الإجابة نعم، ينفذ البرنامج أمرًا معينًا. وإذا كانت الإجابة لا، ينفذ أمرًا آخر.

الفكرة ببساطة: الشرط يجعل البرنامج يتصرف بطريقة مختلفة حسب البيانات التي يدخلها المستخدم.
تحقق قبل الانتقال ✅ هل فهمت أن الشرط هو سؤال داخل البرنامج؟
2

أنشئ ملف الدرس الرابع عشر

افتح مجلد الدورة داخل VS Code:

python_course

ثم أنشئ ملفًا جديدًا باسم:

lesson_14.py

افتح الملف داخل Editor.

توقف لحظة ✅ هل ظهر ملف lesson_14.py داخل Explorer؟ إذا نعم، انتقل للخطوة التالية.
3

استقبل العمر من المستخدم

نبدأ بالسطر الذي نعرفه من الدروس السابقة:

age = int(input("اكتب عمرك: "))

هذا السطر يفعل ثلاث خطوات:

input يسأل المستخدم عن عمره
int يحول الإجابة إلى رقم صحيح
age يحفظ العمر كرقم
لماذا int؟ لأن العمر غالبًا رقم كامل مثل 18 أو 25، وليس سعرًا عشريًا مثل 99.5.
سؤال سريع 🧠 هل العمر الذي سنقارنه يجب أن يكون رقمًا؟ نعم، لذلك حولناه باستخدام int.
4

اكتب أول شرط if

بعد سطر العمر، اكتب:

if age >= 18:
    print("مسموح بالدخول")

معنى هذا الكود:

إذا كان العمر أكبر من أو يساوي 18
اطبع: مسموح بالدخول
شرح أجزاء كود if else في Python
ما معنى >=؟ تعني أكبر من أو يساوي. يعني 18 مقبولة، و19 مقبولة، و20 مقبولة.
تحقق قبل الانتقال ✅ هل فهمت أن if تفحص الشرط age >= 18؟
5

لماذا نضع النقطتين : بعد الشرط؟

لاحظ أن سطر if ينتهي بالنقطتين:

if age >= 18:

النقطتان تخبران Python أن هناك سطرًا أو أكثر تابعًا لهذا الشرط سيأتي بعدها.

قاعدة مهمة: بعد if نضع : ثم نكتب السطر التابع للشرط في السطر التالي مع مسافة بادئة.
خطأ شائع: نسيان النقطتين بعد if يسبب خطأ في الكود، حتى لو كان الشرط صحيحًا.
سؤال سريع 🧠 لماذا نضع : بعد if؟ لأن هناك أوامر تابعة للشرط ستأتي بعدها.
6

المسافة البادئة داخل الشرط

في Python المسافة في بداية السطر مهمة جدًا. السطر الذي يكون داخل if يجب أن يكون مزاحًا للداخل:

if age >= 18:
    print("مسموح بالدخول")
شرح المسافة البادئة في Python

السطر التالي غير صحيح:

if age >= 18:
print("مسموح بالدخول")
انتبه: المسافة البادئة ليست للتجميل فقط. Python يستخدمها لمعرفة أن print تابع للشرط.
تحقق قبل الانتقال ✅ هل فهمت أن السطر التابع لـ if يجب أن يكون مزاحًا للداخل؟
7

أضف else للحالة الأخرى

if تعالج الحالة التي يكون فيها الشرط صحيحًا. لكن ماذا إذا كان العمر أقل من 18؟

هنا نستخدم else:

age = int(input("اكتب عمرك: "))

if age >= 18:
    print("مسموح بالدخول")
else:
    print("غير مسموح بالدخول")

معنى else:

إذا لم يتحقق الشرط السابق
نفذ هذا الجزء بدلًا منه
قاعدة سهلة: if تعني إذا كان الشرط صحيحًا. else تعني في غير ذلك.
سؤال سريع 🧠 إذا كان العمر 15، هل ينفذ if أم else؟ الإجابة: else.
8

رموز المقارنة المهمة

الشروط تعتمد غالبًا على المقارنة بين قيمتين. هذه بعض الرموز المهمة:

رموز المقارنة في Python
>   أكبر من
>=  أكبر من أو يساوي
<   أصغر من
<=  أصغر من أو يساوي
==  يساوي
!=  لا يساوي
انتبه: علامة = وحدها تستخدم للإسناد، مثل age = 18. أما == فتستخدم للمقارنة، مثل age == 18.
تحقق قبل الانتقال ✅ هل فهمت الفرق بين = للإسناد و == للمقارنة؟
9

اكتب الكود الكامل وشغله

اكتب الكود كاملًا داخل ملف lesson_14.py:

age = int(input("اكتب عمرك: "))

if age >= 18:
    print("مسموح بالدخول")
else:
    print("غير مسموح بالدخول")

احفظ الملف:

Ctrl + S

ثم شغله:

python lesson_14.py

وإذا لم يعمل أمر python:

py lesson_14.py
تحقق قبل الانتقال ✅ هل اشتغل البرنامج وسألك عن عمرك؟
10

اختبر الحالتين

جرّب أولًا عمرًا أكبر من أو يساوي 18:

اكتب عمرك: 20
مسموح بالدخول

ثم شغّل البرنامج مرة أخرى وجرّب عمرًا أقل من 18:

اكتب عمرك: 15
غير مسموح بالدخول
ماذا تعلمت؟ نفس البرنامج أعطى نتيجتين مختلفتين حسب قيمة العمر. هذه هي قوة الشروط.
توقف لحظة ✅ هل اختبرت الحالتين؟ لا تعتمد الدرس قبل تجربة العمر 20 والعمر 15.
11

تحدي صغير: رسالة أوضح باستخدام f-string

بما أنك تعلمت f-string في الدرس السابق، جرّب أن تجعل الرسالة تحتوي على العمر:

age = int(input("اكتب عمرك: "))

if age >= 18:
    print(f"عمرك {age} سنة، مسموح بالدخول")
else:
    print(f"عمرك {age} سنة، غير مسموح بالدخول")
هدف التحدي: ربط الدروس ببعضها. هنا استخدمنا input و int و if و else و f-string في برنامج واحد.
تحقق قبل الانتقال ✅ هل ظهرت الرسالة وفيها العمر الذي أدخلته؟

اختبار نهاية الدرس

قبل الانتقال للدرس القادم، تأكد أنك فهمت هذه النقاط:

✅ فهمت أن الشرط سؤال داخل البرنامج.
✅ استخدمت if لفحص age >= 18.
✅ فهمت أن else تعني في غير ذلك.
✅ عرفت لماذا نضع : بعد if و else.
✅ فهمت أن المسافة البادئة إجبارية داخل الشرط.
✅ عرفت معنى >= في المقارنة.
✅ فرّقت بين = للإسناد و == للمقارنة.
✅ اختبرت البرنامج بقيمتين مختلفتين.
إذا فهمت هذه النقاط: فأنت دخلت الآن في منطق البرمجة الحقيقي: البرنامج لا ينفذ فقط، بل يختار ماذا يفعل.

خلاصة الدرس

الشروط تجعل البرنامج يتخذ قرارًا. نستخدم if عندما نريد تنفيذ أمر إذا تحقق شرط معين، ونستخدم else للحالة الأخرى.

تذكر القاعدة:

if condition:
    نفذ هذا إذا كان الشرط صحيحًا
else:
    نفذ هذا إذا لم يكن الشرط صحيحًا

في الدرس القادم سنتوسع خطوة واحدة ونتعلم كيف نستخدم أكثر من احتمال باستخدام elif.