tgoop.com/djangoex/2289
Last Update:
✔️ شاید در قدم اول این پدیده عجیب بنظر برسد. طبیعی است زیرا درک اکثر ما از فرایند گرد کردن اعداد، معمولاً چیز دیگریست. انتظار میرود عدد 1.5 به 2 گرد شده و 2.5 نیز به 3. اما میبینیم که حاصل round(2.5)
در پایتون برابر 2 شدهاست.
پایتون بطور پیشفرض از استراتژی خاصی به نام Banker's Rounding برای گرد کردن اعداد استفاده میکند. دلیل این امر جلوگیری از سوگیری (bias) محاسباتی هنگام گرد کردن اعداد است.
فرض کنید به عنوان یک بانک قرار است سود روزانه هزاران حساب بانکی را حساب کنید و در این فرایند نیاز به تابع round دارید. استفاده از استراتژیهای Round Up یا Round Down باعث میشود مجموع اعداد گرد شده به جهت بالا یا پایین حرکت کند و دچار سوگیری شود. این مشکل باعث کاهش دقت در محاسبات میشود.
برای کاهش خطا (error) در محاسبات و رفع سوگیری در گرد کردن، از استراتژیهای مختلف استفاده میشود. اما دوتا از معروفترین آنها:
۱. گرد کردن به نزدیکترین عدد کامل (کمتر و بیشتر-مساوی x.5)
۲. گرد کردن به نزدیکترین عدد زوج (فقط برای x.5)
روش دوم در مقیاس اعداد بزرگ و تعداد زیاد اطلاعات، عملکرد بهتری دارد و بههمین خاطر نیز پایتون و خیلی از زبانهای برنامهنویسی از آن بهعنوان استراتژی پیشفرض استفاده میکنند.
™ @DjangoIR
〰️〰️〰️〰️〰️〰️〰️
© @DjangoEx
BY Django Expert
Share with your friend now:
tgoop.com/djangoex/2289