🧮 العمليات الحسابية في بايثون: لغتك الأولى للتعامل مع الأرقام! ✨

مرحباً بك في عالم البرمجة! 🎯 تخيل أنك تستخدم آلة حاسبة قوية جداً، يمكنها أن تحسب أي شيء تريده. في بايثون، مشغلات العمليات الحسابية (Arithmetic Operators) هي الأدوات الأساسية التي تمنحك هذه القوة! فهي تتيح لك إجراء العمليات الرياضية الأساسية على الأرقام داخل برامجك، تماماً كما تفعل في الرياضيات، لكن بطريقة تفهمها الكمبيوتر. هيا نبدأ رحلتنا! 🚀


📝 ما هي مشغلات العمليات الحسابية؟

مشغلات العمليات الحسابية هي رموز خاصة تستخدمها بايثون (ومعظم لغات البرمجة) لإجراء العمليات الرياضية على القيم. فبدلاً من استخدام كلمات مثل "جمع" أو "ضرب"، نستخدم رموزاً مختصرة مثل + و *. هذه المشغلات تعمل على المعاملات (Operands)، وهي القيم التي نجري عليها العملية.

مثال بسيط: في العملية 5 + 3

  • + هو المشغل (Operator).
  • 5 و 3 هما المعاملان (Operands).

🔢 أنواع مشغلات العمليات الحسابية في بايثون

دعنا نستعرض المشغلات الأساسية واحداً تلو الآخر مع أمثلة عملية. تذكر: الكود يجب أن يكون بالإنجليزية، والتعليقات بالعربية للشرح.

1. مشغل الجمع (+)

يستخدم لجمع رقمين أو أكثر معاً.

# مثال على مشغل الجمع (+)
result = 10 + 5
print(result)  # الناتج: 15

# يمكن استخدامه مع المتغيرات أيضاً
price = 50
tax = 7
total = price + tax
print("المبلغ الإجمالي هو:", total)  # الناتج: المبلغ الإجمالي هو: 57

2. مشغل الطرح (-)

يستخدم لطرح رقم من رقم آخر.

# مثال على مشغل الطرح (-)
balance = 100
withdrawal = 45
new_balance = balance - withdrawal
print("الرصيد المتبقي:", new_balance)  # الناتج: الرصيد المتبقي: 55

# يمكن استخدامه لجعل الرقم سالباً
negative_number = -10
print(negative_number)  # الناتج: -10

3. مشغل الضرب (*)

يستخدم لضرب رقمين أو أكثر.

# مثال على مشغل الضرب (*)
area = 5 * 3  # حساب مساحة مستطيل
print("المساحة هي:", area)  # الناتج: المساحة هي: 15

# ضرب متغيرات
items = 4
cost_per_item = 25
total_cost = items * cost_per_item
print("التكلفة الكلية:", total_cost)  # الناتج: التكلفة الكلية: 100

4. مشغل القسمة العادية (/)

يقسم الرقم الأول على الثاني، ويُرجع النتيجة كرقم عشري (float) دائماً، حتى لو كانت النتيجة عدداً صحيحاً.

# مثال على مشغل القسمة العادية (/)
result1 = 10 / 2
print(result1)  # الناتج: 5.0 (لاحظ .0 لأن الناتج float)

result2 = 9 / 2
print(result2)  # الناتج: 4.5

# تقسيم كميات
total_students = 30
classrooms = 3
students_per_class = total_students / classrooms
print("الطلاب في كل فصل:", students_per_class)  # الناتج: الطلاب في كل فصل: 10.0

5. مشغل القسمة الصحيحة (//)

يقسم الرقم الأول على الثاني، ويُرجع الجزء الصحيح فقط من النتيجة (يُقرب للأسفل تجاه سالب ما لا نهاية).

# مثال على مشغل القسمة الصحيحة (//)
result1 = 10 // 3
print(result1)  # الناتج: 3 (تجاهل الكسر 0.333...)

result2 = 9 // 2
print(result2)  # الناتج: 4

# مثال مع الأعداد السالبة
result3 = -7 // 2
print(result3)  # الناتج: -4 (لاحظ أنه يُقرب للأسفل: -3.5 تصبح -4)

6. مشغل الباقي أو الموديولوس (%)

يقسم الرقم الأول على الثاني، ويُرجع باقي عملية القسمة فقط.

# مثال على مشغل الباقي (%)
remainder1 = 10 % 3
print(remainder1)  # الناتج: 1 (لأن 10 ÷ 3 = 3 والباقي 1)

remainder2 = 15 % 4
print(remainder2)  # الناتج: 3 (لأن 15 ÷ 4 = 3 والباقي 3)

# استخدام شائع: التحقق من زوجية الرقم
number = 7
if number % 2 == 0:  # إذا كان باقي قسمة الرقم على 2 يساوي صفر
    print("الرقم زوجي")
else:
    print("الرقم فردي")  # هذه الجملة هي التي ستُنفذ

7. مشغل الأسس (**)

يرفع الرقم الأول (الأساس) إلى قوة الرقم الثاني (الأس).

# مثال على مشغل الأسس (**)
square = 5 ** 2  # 5 أس 2
print(square)  # الناتج: 25

cube = 2 ** 3  # 2 أس 3
print(cube)    # الناتج: 8

# حساب مربع طول ضلع
side = 4
area_square = side ** 2
print("مساحة المربع:", area_square)  # الناتج: مساحة المربع: 16

🧭 أولوية العمليات (Order of Operations)

ماذا لو كان لديك أكثر من عملية في سطر واحد؟ مثل 2 + 3 * 4، هل الناتج 20 أم 14؟ 🤔 تتبع بايثون قاعدة رياضية عالمية تُعرف بـ PEMDAS لتحديد أولوية التنفيذ:

  1. Parentheses (): الأقواس (الأولوية القصوى).
  2. Exponents **: الأسس.
  3. Multiplication * و Division / و // و %: الضرب والقسمة (بنفس المستوى، تُنفذ من اليسار لليمين).
  4. Addition + و Subtraction -: الجمع والطرح (بنفس المستوى، تُنفذ من اليسار لليمين).
# أمثلة على أولوية العمليات
result1 = 2 + 3 * 4  # الضرب أولاً: 3*4=12، ثم الجمع: 2+12
print(result1)  # الناتج: 14

result2 = (2 + 3) * 4  # الأقواس أولاً: (2+3)=5، ثم الضرب: 5*4
print(result2)  # الناتج: 20

result3 = 10 - 2 ** 3 / 4  # الأسس أولاً: 2**3=8، ثم القسمة: 8/4=2، ثم الطرح: 10-2
print(result3)  # الناتج: 8.0

🎯 خلاصة الدرس

أصبحت الآن تمتلك أدواتك الحسابية الأولى في بايثون! 🎉 تعلمت المشغلات السبعة الأساسية: الجمع (+)، الطرح (-)، الضرب (*)، القسمة العادية (/)، القسمة الصحيحة (//)، مشغل الباقي (%)، ومشغل الأسس (**). كما فهمت قاعدة PEMDAS المهمة التي تحكم أولوية تنفيذ هذه العمليات عندما تجتمع معاً. هذه هي اللبنة الأساسية لأي برنامج يقوم بأي نوع من الحسابات، بسيطة كانت أو معقدة.