تقسيم الأعداد الصحيحة والحصول على النتيجة والباقي باستخدام دالة في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 21 سبتمبر 2024

محتوى المقال

تقسيم الأعداد الصحيحة والحصول على النتيجة والباقي باستخدام دالة في Python

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

في هذا المقال، سنتعرف على كيفية تقسيم الأعداد الصحيحة في Python باستخدام دوال مثل divmod() ودوال أخرى، وسنقدم أمثلة عملية توضح كيفية الاستفادة من هذه الدوال في التطبيقات البرمجية.

أساسيات القسمة في Python

لتقسيم الأعداد الصحيحة في Python، يمكن استخدام عامل القسمة العادي / وعامل القسمة الصحيحة //. دعنا نوضح الفرق بين الاثنين:

  • القسمة العادية /: تُعيد نتيجة القسمة كعدد عشري حتى لو كانت الأعداد المدخلة أعدادًا صحيحة.
  • القسمة الصحيحة //: تُعيد الجزء الصحيح من نتيجة القسمة بدون الجزء العشري (العدد بدون الكسر).
# مثال على القسمة العادية
result = 10 / 3
print(result) # الناتج: 3.3333333333333335

# مثال على القسمة الصحيحة
result = 10 // 3
print(result) # الناتج: 3

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

الحصول على الباقي باستخدام عامل %

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

# حساب الباقي من القسمة
remainder = 10 % 3
print(remainder) # الناتج: 1

في هذا المثال، يتم تقسيم 10 على 3، والناتج الصحيح هو 3 مع وجود باقي قدره 1، والذي يتم إرجاعه باستخدام عامل %.

استخدام الدالة divmod() للحصول على النتيجة والباقي معًا

بدلاً من استخدام عامل القسمة الصحيحة // وعامل باقي القسمة % بشكل منفصل، يمكنك استخدام دالة divmod() التي تُعيد النتيجة والباقي في عملية واحدة.

الدالة divmod() تأخذ عددين كمدخلات وتُعيد زوجًا يحتوي على:

  • الجزء الصحيح من القسمة
  • الباقي
# استخدام divmod للحصول على النتيجة والباقي
result = divmod(10, 3)
print(result) # الناتج: (3, 1)

# يمكننا فصل النتيجة والباقي بهذا الشكل
quotient, remainder = divmod(10, 3)
print('النتيجة:', quotient) # الناتج: 3
print('الباقي:', remainder) # الناتج: 1

في هذا المثال، الدالة divmod() تُعيد كلاً من النتيجة (3) والباقي (1) عند قسمة 10 على 3.

أمثلة عملية على استخدام القسمة والباقي في Python

مثال 1: توزيع العناصر بالتساوي

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

# عدد العناصر وعدد الحاويات
items = 17
containers = 4

# حساب العناصر الموزعة بالتساوي والباقي
per_container, remaining = divmod(items, containers)

print('عدد العناصر في كل حاوية:', per_container) # الناتج: 4
print('العناصر المتبقية:', remaining) # الناتج: 1

في هذا المثال، يتم توزيع 17 عنصرًا على 4 حاويات. يتم توزيع 4 عناصر في كل حاوية، مع بقاء عنصر واحد غير موزع.

مثال 2: حساب الوقت بالساعة والدقائق

يمكنك استخدام divmod() لتحويل الوقت المعطى بالدقائق إلى ساعات ودقائق. هذا مفيد عندما تحتاج إلى تقسيم عدد كبير من الدقائق إلى ساعات ودقائق.

# عدد الدقائق
total_minutes = 150

# حساب الساعات والدقائق المتبقية
hours, minutes = divmod(total_minutes, 60)

print('الساعات:', hours) # الناتج: 2
print('الدقائق:', minutes) # الناتج: 30

في هذا المثال، يتم تحويل 150 دقيقة إلى 2 ساعات و30 دقيقة باستخدام divmod().

مقارنة بين القسمة الصحيحة والباقي في Python

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

مقارنة بين طرق القسمة المختلفة:

  • //: يعيد الجزء الصحيح من القسمة فقط.
  • %: يعيد الباقي فقط.
  • divmod(): تعيد كلاً من الجزء الصحيح والباقي كزوج من القيم.

الخلاصة

تعد القسمة والباقي جزءًا أساسيًا من العمليات الحسابية في Python. باستخدام عوامل مثل // و% ودالة divmod()، يمكنك التعامل مع القسمة بشكل فعال والحصول على النتيجة والباقي بسهولة. تقدم هذه الأدوات حلولًا بسيطة لمشكلات توزيع الأعداد، وتحويل الوحدات، والعديد من التطبيقات الأخرى.

طور مهاراتك: مقالات يجب قراءتها في البرمجة