با استفاده از برنامهنویسی تابعی در پایتون، یک تابع بنویسید که دو لیست عددی همطول را بگیرد و با استفاده از ماژول operator و توابع map و functools.reduce حاصلضربهای عنصربهعنصر را محاسبه کند سپس مجموع (dot product) و میانگین عناصر حاصلضرب را برگرداند.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:06 0.0
برای حل این مسئله از ماژول operator (مثل operator.mul) برای ضرب عنصربهعنصر و از map برای اعمال تابع روی زوجهای عناصر استفاده کنید، سپس با functools.reduce و operator.add یا تابع sum مجموع را محاسبه کنید؛ میانگین را با تقسیم مجموع بر طول لیست بدست آورید. نکات: در پایتون۳ خروجی map یک iterator است، پس بسته به نیاز آن را به لیست تبدیل کنید یا مستقیم به reduce/ sum بدهید؛ قبل از محاسبه طولها بررسی کنید که دو لیست همطول باشند و برای خوانایی از توابع ساده و بدون حالت (pure functions) استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای حل مسئله با رویکرد تابعی، ابتدا چک کنید دو لیست همطول هستند و در صورت خالی بودن ورودیها، خروجیها را به شکل امن مدیریت کنید. با استفاده از operator.mul بهعنوان تابع ضرب، map را روی جفتهای متناظر دو لیست اعمال کنید و خروجی را به لیست تبدیل کنید تا reduce با operator.add یا sum مجموع را محاسبه کند. برای میانگین، مجموع را بر طول لیست تقسیم کنید و از تقسیم بر صفر جلوگیری کنید. این کار با توابع بدون حالت (pure) است و به دلیل خروجیٔ iterator در map در پایتون۳، یا آن را به لیست تبدیل کنید یا مستقیماً به reduce/sum بدهید.
گزارش