التقريب إلى فاصل زمني مخصص في بايثون
في بايثون، تُستخدم الدالة round() بشكل شائع لتقريب القيم الرقمية. ومع ذلك، فهو يعمل على أساس نظام التقريب 10، والذي قد لا يكون مناسبًا دائمًا لمتطلبات محددة. على سبيل المثال، إذا كنت تريد تقريب الأرقام إلى أقرب مضاعف للرقم 5، فإن الدالة round() القياسية ليست مناسبة.لمعالجة هذه المشكلة، يمكن إنشاء دالة مخصصة لتقريب القيم إلى فاصل زمني محدد . على سبيل المثال، لتقريب الأرقام إلى أقرب مضاعف للرقم 5، يمكننا تعريف الوظيفة التالية:def myround(x, base=5):
return base * round(x / base)
تأخذ هذه الدالة معلمتين: x هو الرقم المراد تقريبه، وbase هو الفاصل الزمني للتقريب المخصص (الافتراضي هو 5). تقسم الدالة أولاً x على القاعدة للحصول على حاصل قسمة صحيح. وهذا يضمن تقريب النتيجة إلى أقرب مضاعف للقاعدة. أخيرًا، يتم ضرب النتيجة بالأساس للتعويض عن القسمة الأولية.إليك مثال لكيفية عمل وظيفة myround():print(myround(10)) # 10
print(myround(12)) # 10
print(myround(13)) # 15
print(myround(14)) # 15
print(myround(16)) # 15
print(myround(18)) # 20
كما هو موضح في الإخراج، تقوم الدالة بتقريب الأرقام المحددة إلى أقرب مضاعف للرقم 5. يتيح لك سلوك التقريب المخصص هذا تخصيص عملية التقريب وفقًا لمتطلبات محددة دون الاعتماد على الوظيفة القياسية للدالة round(). تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3