الدالة divmod()‎ في بايثون

من موسوعة حسوب
مراجعة 16:03، 28 أبريل 2018 بواسطة عبد-الهادي-الديوري (نقاش | مساهمات) (إضافة الصّفحة)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدّالة divmod()‎ زوجًا من الأعداد تُمثّل ناتج وباقي قسمة العددين عند استعمال قسمة الأعداد الصّحيحة.

البنية العامة

 divmod(a, b)

المعاملات

a

عدد.

b

عدد.

القيمة المعادة

عند استعمال أنواع operand المختلطة (mixed operand types)، فستُطبّق قواعد عاملات حسابات الأنواع الثّنائيّة (binary arithmetic operators). للأعداد الصّحيحة، ستكون النّتيجة، مُساويّة للزّوج (a ‎‎/‎/‎ ‎b‎, ‎a ‎% ‎b‎)‎. أمّا للأعداد العشريّة.

فستكون النّتيجة هي (q‎, ‎a ‎% ‎b‎)‎ بحيث q يكون عادةً نتيجة العمليّة ‎math‎.‎floor‎(‎a‎ ‎/‎ ‎b‎)‎، إلّا أنّه يُمكن أن يكون أصغر من ذلك بالعدد 1. وعلى أيّة حال، ستكون نتيجة العمليّة ‎q ‎* ‎b ‎+ ‎a ‎% ‎b قريبةً جدًّا من a، إن كان ‎a‎ ‎% ‎b مُخالفًا للصّفر، فسيكون لها وb نفس العلامة (sign)، مع 0‎ ‎<‎=‎ abs‎(‎a‎ ‎%‎ ‎b‎)‎ ‎<‎ ‎abs‎(b‎)‎‎.

أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:

 >>> divmod(25, 5)
(5, 0)
>>> divmod(12, 5)
(2, 2)
>>> divmod(13, 5)
(2, 3)
>>> divmod(13.5, 5)
(2.0, 3.5)
>>> divmod(13.5, 5.5)
(2.0, 2.5)

انظر أيضًا

مصادر