Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 3

العمليات الحسابية والمنطقية في بايثون

Recommended resources

أهلاً بك في الدرس الثالث من رحلتنا لتعلم البرمجة!

في الدرس السابق، تعلمنا كيفية تخزين البيانات في المتغيرات، وهي "صناديق" الذاكرة التي تحتفظ بالمعلومات مثل النصوص والأرقام. لقد أصبح بإمكان برنامجك الآن أن "يتذكر" البيانات.

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

هدفنا في هذا الدرس هو تعلم كيفية استخدام العمليات الحسابية والمنطقية في Python. سنغطي ثلاثة أنواع رئيسية من العوامل (Operators) التي تمكننا من ذلك.

1. العوامل الحسابية (Arithmetic Operators)

هذه هي الأدوات التي نستخدمها لإجراء العمليات الرياضية الأساسية على المتغيرات الرقمية (int و float). معظمها مألوف لك من الرياضيات، ولكن مع بعض الإضافات المفيدة في البرمجة.

Python Data Types, User Input, and Mathematical Operations
جدول يوضح الفروقات بين كتابة العمليات الحسابية في الرياضيات وفي لغة بايثون.

المقالة التالية من أكاديمية حسوب تقدم شرحاً ممتازاً ومفصلاً لهذه العوامل.

كيفية إجراء العمليات الحسابية في بايثون 3

اقرأ الأجزاء التالية من مقال "كيفية إجراء العمليات الحسابية في بايثون 3" لفهم كيفية عمل كل عامل حسابي بالتفصيل.

اقرأ قسم "الجمع والطرح" لفهم كيفية استخدام + و -. اقرأ قسم "العمليات الحسابية الأحادية" لفهم استخدام + و - مع عدد واحد. اقرأ قسم "الضرب والقسمة"، وركز على الفرق بين القسمة العادية / التي تعطي ناتجاً عشرياً دائماً، والقسمة التحتية (أو الصحيحة) // التي تعطي ناتجاً صحيحاً. اقرأ قسم "معامل باقي القسمة (Modulo)" لفهم كيفية استخدام % للحصول على باقي القسمة. اقرأ قسم "القوة (Power)" لمعرفة كيف ترفع عدداً إلى قوة معينة باستخدام **.

للتلخيص، هذه هي العوامل الحسابية الأساسية:

  • الجمع +، الطرح -، الضرب *: تعمل تماماً كما في الرياضيات.
  • القسمة /: تعطي دائماً ناتجاً عشرياً (float)، مثلاً 10 / 5 تساوي 2.0.
  • القسمة الصحيحة //: تتجاهل الكسور وتعطي ناتجاً صحيحاً (int)، مثلاً 10 // 3 تساوي 3.
  • باقي القسمة %: تعطي باقي القسمة. مفيدة جداً لمعرفة إذا كان الرقم زوجياً أم فردياً (مثلاً x % 2 سيكون 0 إذا كان x زوجياً).
  • الأس **: لرفع عدد إلى قوة، مثلاً 2 ** 3 تساوي 8.
اختبر فهمك!

لنفترض أنك تبني برنامجاً لحساب تكلفة مشتريات. لديك متغيران:

price = 150  # سعر المنتج
quantity = 3   # الكمية

اكتب سطراً واحداً من الكود يحسب التكلفة الإجمالية ويطبعها.

أظهر الحل
# نضرب السعر في الكمية ونطبع الناتج مباشرة
print(price * quantity)

الناتج سيكون 450.


2. أسبقية العوامل (Operator Precedence)

تماماً كما في الرياضيات، تتبع بايثون ترتيباً محدداً عند تنفيذ العمليات في تعبير واحد (مثلاً، الضرب قبل الجمع). تجاهل هذا الترتيب هو من أشهر الأخطاء التي يقع بها المبتدئون.

كيفية إجراء العمليات الحسابية في بايثون 3

عد إلى نفس المقال من أكاديمية حسوب واقرأ قسم "أسبقية العوامل" لفهم الترتيب الذي تتبعه بايثون.

اقرأ قسم "أسبقية العوامل". ركز على كيفية استخدام الأقواس ( ) لتغيير ترتيب التنفيذ وفرض الأولوية التي تريدها.

القاعدة بسيطة: استخدم الأقواس () دائماً عندما تكون غير متأكد أو عندما تريد أن تجعل الكود أوضح للقراءة.

result = 10 + 5 * 2 # الناتج 20 (الضرب أولاً)
result_with_parens = (10 + 5) * 2 # الناتج 30 (ما بين القوسين أولاً)


3. عوامل المقارنة والعوامل المنطقية

بينما تُستخدم العوامل الحسابية للحصول على نتائج رقمية، تُستخدم عوامل المقارنة (Comparison Operators) لطرح أسئلة تكون إجابتها إما True (صحيح) أو False (خطأ).

  • هل x يساوي y؟ x == y (لاحظ وجود علامتي يساوي == للمقارنة، بينما علامة واحدة = للإسناد).
  • هل x لا يساوي y؟ x != y
  • هل x أكبر من y؟ x > y

بعد ذلك، يمكننا استخدام العوامل المنطقية (Logical Operators) لدمج عدة أسئلة معاً:

  • and: يجب أن تكون كل الشروط True ليكون الناتج True.
  • or: يكفي أن يكون شرط واحد True ليكون الناتج True.
  • not: تعكس الحالة (تحول True إلى False والعكس).

المقالة التالية من موقع هرمش تقدم جداول واضحة ومختصرة لهذه العوامل.

العوامل في بايثون

استخدم هذه المقالة كمرجع سريع لفهم عوامل المقارنة والمنطق.

تفحص الجدول في قسم "العوامل التي تستخدم في المقارنات (Comparison Operators)". تفحص الجدول في قسم "العوامل التي تستخدم في وضع شروط منطقية (Logical Operators)".

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

age = 20
is_student = True

# هل عمر المستخدم أقل من 25 وهو طالب؟
is_eligible = (age < 25) and (is_student == True)

print(is_eligible) # سيطبع True

هذه القيم المنطقية (True/False) هي حجر الأساس الذي سنبني عليه قدرة برامجنا على اتخاذ القرارات في الدرس القادم.


4. عوامل الإسناد المركبة (اختياري لكن مفيد)

ستصادف كثيراً في البرمجة أنك تريد تعديل قيمة متغير بناءً على قيمته الحالية. مثلاً، زيادة عدّاد بمقدار واحد.

score = 10
# لزيادة النقاط بمقدار 5
score = score + 5

يمكن اختصار هذا باستخدام عوامل الإسناد المركبة:

score = 10
score += 5  # هذا السطر يكافئ تماماً score = score + 5

print(score) # سيطبع 15

هناك عامل مركب لكل عملية حسابية (-=, *=, /=، إلخ). يمكنك القراءة عنها في قسم "عامل الإسناد (Assignment Operators)" في نفس مقال أكاديمية حسوب الذي قرأته سابقاً (resource_id: [LINK](https://academy.hsoub.com/programming/python/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A5%D8%AC%D8%B1%D8%A7%D8%A1-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%B3%D8%A7%D8%A8%D9%8A%D8%A9-%D9%81%D9%8A-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-3-r730/)).


ملخص الدرس

أحسنت صنعاً! لقد قطعت شوطاً كبيراً اليوم. لنلخص ما تعلمناه:

  • العوامل الحسابية (+, -, *, /, //, %, **) تُستخدم لإجراء العمليات الرياضية.
  • أسبقية العوامل تحدد ترتيب تنفيذ العمليات، ويمكن استخدام الأقواس () للتحكم في هذا الترتيب.
  • عوامل المقارنة (==, !=, >, <) تُستخدم لمقارنة القيم وتعطي دائماً نتيجة منطقية (True أو False).
  • العوامل المنطقية (and, or, not) تُستخدم لدمج الشروط المنطقية معاً.

لقد اكتسبت الآن القدرة ليس فقط على تخزين البيانات، بل على معالجتها وطرح أسئلة حولها.


ما التالي؟

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