با استفاده از برنامهنویسی تابعی در پایتون (map، filter، functools.reduce و ماژول operator)، تابعی بنویسید که لیستی از اعداد را ابتدا مقادیر منفی را حذف کند، سپس هر عدد را در یک ضریب دادهشده ضرب کند و در نهایت مجموع و میانگین نتایج را برگرداند.
3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:02 0.0
برای حل این سؤال میتوانید از filter برای حذف مقادیر منفی، از map همراه با operator.mul یا lambda برای ضرب هر عنصر در ضریب، و از functools.reduce بههمراه operator.add (یا بهسادگی تابع sum) برای محاسبه مجموع استفاده کنید؛ میانگین را با تقسیم مجموع بر طول لیست پردازششده بهدست بیاورید و برای جلوگیری از تقسیم بر صفر بررسی کنید که لیست پس از فیلتر خالی نباشد. نکات عملی: در پایتون 3 خروجی map/filter باید به لیست تبدیل شود تا بتوان دوباره روی آن عملیات انجام داد، و میتوانید برای تمرین بیشتر از reduce استفاده کنید اما در عمل sum و len سادهتر و خواناترند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی با رویکرد تابعی در پایتون، ابتدا مقادیر منفی را با filter حذف کنید. سپس با map هر عنصر را در ضریب معین ضرب کنید و خروجی را به لیست تبدیل کنید. برای به دست آوردن مجموع و میانگین میتوانید از sum و len استفاده کنید یا از reduce همراه با operator.add استفاده کنید، به شرط اینکه لیست فیلترشده خالی نباشد. همیشه بررسی کنید که لیست پس از فیلتر خالی نباشد تا از تقسیم بر صفر جلوگیری شود.
گزارش