"كيف تجعل برنامجك يتخذ قرارات؟ شرح جملة if في بايثون بـ 5 دقائق!"

دليل المبتدئين الشامل: شرح جملة if الشرطية في بايثون (Python if Statement)

شرح جملة if الشرطية في لغة بايثون بالتفصيل

تعتبر الجمل الشرطية (Conditional Statements) بمثابة العمود الفقري والأساس الهيكلي لبناء أي لغة برمجة في العالم؛ حيث تمنح البرامج والتطبيقات القدرة الذكية على اتخاذ القرارات والتحكم في تدفق البيانات بناءً على معطيات ومعلومات معينة. وفي لغة بايثون (Python)، تتميز جملة if بالبساطة الشديدة والوضوح اللغوي، مما يجعلها قريبة جداً من القراءة البشرية الطبيعية.

💡 1. المفهوم الأساسي لجملة if الشرطية

تخيل أنك تخبر معالج الكمبيوتر بعبارة منطقية مباشرة: "إذا تحقق هذا الشرط المعين، قم بتنفيذ هذه المهمة فوراً". إذا كان الشرط صحيحاً (True)، يتم تشغيل الكود، وإذا كان خاطئاً (False)، يتجاهله البرنامج تماماً وينتقل للسطر التالي.

الصيغة القياسية العامة (Syntax):

if condition:
    # الأوامر التي سيتم تنفيذها فقط في حال تحقق الشرط (True)
    pass

🛠️ 2. الأنواع المختلفة للجمل الشرطية وتراكيبها

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

أ- جملة if البسيطة (Single Condition)

تُستخدم هذه الجملة لاختبار شرط واحد محدد؛ فإذا تحقق الشرط يتم تنفيذ الأمر، وإلا يستمر البرنامج في طريقه دون أي رد فعل بديل:

age = 20
if age >= 18:
    print("أنت شخص بالغ")

ب- جملة if...else (إما أو)

تُستخدم عندما يكون لديك مساران محددان لا ثالث لهما؛ حيث يتم تحديد مسار بديل وتلقائي لتنفيذه في حال لم يتحقق الشرط الأول الأساسي:

score = 45
if score >= 50:
    print("ناجح")
else:
    print("راسب")

ج- جملة if...elif...else (الخيارات المتعددة)

تُستخدم عند وجود خيارات وشروط متعددة ومتتالية؛ حيث أن الكلمة المفتاحية elif هي اختصار برمي للعبارة (else if). يقوم البرنامج بفحص الشروط من الأعلى إلى الأسفل، وينفذ أول شرط يتحقق معه فقط:

degree = 85

if degree >= 90:
    print("ممتاز")
elif degree >= 80:
    print("جيد جداً")
else:
    print("تحتاج للمزيد من الدراسة والتركيز")

⚠️ 3. قواعد برمجية هامة جداً (تجنب أخطاء الـ Syntax)

تتميز لغة بايثون بصرامتها الشديدة تجاه التنسيق، وهناك قاعدتان إن لم تلتزم بهما سينهار البرنامج تماماً ويظهر خطأ في التجميع:

  • النقطتان الراسيتان ( : ): إجبارية ولا بد من وضعها بعد نهاية سطر كل شرط (بعد عبارات if, elif, else) للإعلان عن بدء كتلة برمجية جديدة.
  • المسافة البادئة (Indentation): بايثون لا تستخدم الأقواس المتعرجة لتحديد نطاق الأكواد. بدلاً من ذلك، يجب إزاحة الأوامر التابعة للشرط للداخل (بمقدار 4 مسافات أو ضغطة Tab واحدة) ليعرف المحرك هندسياً أنها تابعة لهذا الشرط ومحكومة به.

⚡ 4. استخدام المعاملات والروابط المنطقية (Logical Operators)

يمكنك دمج واختبار أكثر من شرط داخل جملة if واحدة لبناء منطق معقد وذكي باستخدام المعاملات المنطقية التالية:

  • and: تشترط وجوب تحقق ونجاح جميع الشروط معاً لتنفيذ الكود.
  • or: تكتفي بتحقق شرط واحد صحيح على الأقل من بين الشروط الممررة.
  • not: تُستخدم لعكس الحالة المنطقية (تحويل الصحيح إلى خاطئ والعكس).

مثال عملي للتحقق من بيانات تسجيل الدخول:

user = "admin"
password = "123"

if user == "admin" and password == "123":
    print("تمت مطابقة البيانات.. تسجيل الدخول ناجح!")

🚀 5. الاختزال الاحترافي: جملة if المختصرة (Shorthand)

في الأوساط البرمجية المتقدمة، يُفضل المطورون كتابة الأكواد بشكل أكثر أناقة واختصاراً عندما تكون الأوامر بسيطة، وتُعرف هذه الميزة بـ Shorthand if أو Ternary Operator (المعامل الشرطي ثلاثي الأطراف):

أولاً: جملة if المختصرة في سطر واحد

إذا كان لديك أمر برمجي واحد فقط مطلوب تنفيذه فور تحقق الشرط، يمكنك صياغته مباشرة في نفس السطر بعد النقطتين الراسيتين:

a, b = 10, 5
if a > b: print("العنصر a هو الأكبر")

ثانياً: جملة if...else المختصرة (Ternary Operator)

تُعد هذه الصيغة الخيار المفضّل والذكي لإسناد قيمة معينة لمتغير بناءً على شرط سريع في سطر واحد فقط. وتتبع المعمارية التالية: [النتيجة في حال تحقق الشرط] if [الشرط] else [النتيجة في حال الفشل]

age = 20
status = "بالغ" if age >= 18 else "قاصر"
print(status)

📊 تحليل مقارن للبنية الشرطية القياسية والمختصرة في بايثون

الأسلوب البرمجي حجم ونظافة الأكواد (Code Length) الاستخدام الأمثل والبيئة التشغيلية
الهيكل القياسي الممتد يأخذ أسطر متعددة متبوعة بمسافات بادئة تفصيلية الشروط المعقدة الكبيرة، وبناء المشاريع الضخمة لتسهيل المراجعة
الصيغة المختصرة (Shorthand) سطر برمي واحد مكثف ونظيف عالي الأناقة البرمجية العمليات الحسابية الخفيفة، وإسناد القيم السريعة داخل الدوال المتناسقة

🎯 الحل النموذجي للتحدي البرمجي: خوارزمية قياس حرارة الجو

طلبنا منكم بناء سكريبت يقوم باستقبال درجة حرارة الجو من المستخدم، وتحليلها برمجياً لطباعة حالة الطقس (حار، معتدل، بارد). إليك طريقتين احترافيتين لتنفيذ الحل ومطابقة منطقك البرمجي:

الطريقة الأولى: الحل القياسي عبر تركيب if...elif...else

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

# استقبال المدخلات وتحويل نوع البيانات لعدد عشري
temp = float(input("أدخل درجة الحرارة الحالية في مدينتك: "))

if temp > 30:
    print("الجو حار جداً")
elif temp >= 20:
    print("الجو معتدل ومتوازن")
else:
    print("الجو بارد")

الطريقة الثانية: تحدي المحترفين باستخدام صيغة الاختزال المختصرة

إذا أردنا التحقق من حالتين سريعتين فقط (حار أو غير حار) بأسلوب احترافي مكثف في سطر واحد، نصيغها هكذا:

temp = 25
weather_status = "الجو حار" if temp > 30 else "الجو غير حار"
print(weather_status)

الخلاصة ورؤية الموقع

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

أحدث أقدم