با استفاده از سبک برنامهنویسی تابعی (map، filter، reduce و ماژول operator) یک تابع پایتون بنویسید که یک لیست از بردارهای عددی را گرفته، طول هر بردار را محاسبه کند، بردارهایی که طولشان از مقدار آستانه کمتر است را حذف کند و میانگین مؤلفهای بردارهای باقیمانده را برگرداند.
2.0 بازدید آخرین ویرایش در 223 روز قبل ساعت 18:51 0.0
میتوانید با map طول هر بردار را محاسبه کنید و با filter بردارهایی را نگه دارید که شرط آستانه را پاس میکنند؛ برای جمع مؤلفهای از functools.reduce بههمراه operator.add یا استفاده از zip و map(sum, ...) بهره ببرید و در نهایت هر مؤلفه را بر تعداد بردارها تقسیم کنید. نکات: فرض کنید طول همه بردارها برابر است، از ماژول operator برای عملیات جمع سادهتر استفاده کنید و برای جلوگیری از حلقههای صریح از توابع تابعی استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی با سبک تابعی، از map برای محاسبه طول هر بردار و از filter برای نگهداشتن بردارهای با طول ≥ آستانه استفاده کنید. میانگین مؤلفهای بردارهای باقیمانده را میتوانید با zip و map(sum, ...) بهدست آورید و سپس با تقسیم بر تعداد بردارها، نتیجه را بازگردانید. جای دارد به مدیریت مواردی مانند خالیبودن لیست نتیجه و تقسیم بر صفر اشاره کنید تا از خطاهای Runtime جلوگیری شود. همچنین با فرض برابر بودن طول بردارها، پیادهسازی را بهسادگی با reduce و operator.add یا بهکمک zip و map(sum, ...) میتوان کامل کرد.
گزارش