با استفاده از برنامه‌نویسی تابعی در پایتون، یک تابع بنویسید که دو لیست عددی هم‌طول را بگیرد و با استفاده از ماژول 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) استفاده کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:06
دسته بندی ها: Python Python for beginner
arash در 221 روز قبل ساعت 14:39

برای حل مسئله با رویکرد تابعی، ابتدا چک کنید دو لیست هم‌طول هستند و در صورت خالی بودن ورودی‌ها، خروجی‌ها را به شکل امن مدیریت کنید. با استفاده از operator.mul به‌عنوان تابع ضرب، map را روی جفت‌های متناظر دو لیست اعمال کنید و خروجی را به لیست تبدیل کنید تا reduce با operator.add یا sum مجموع را محاسبه کند. برای میانگین، مجموع را بر طول لیست تقسیم کنید و از تقسیم بر صفر جلوگیری کنید. این کار با توابع بدون حالت (pure) است و به دلیل خروجیٔ iterator در map در پایتون۳، یا آن را به لیست تبدیل کنید یا مستقیماً به reduce/sum بدهید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری