یک اسکریپت پایتون بنویس که با استفاده از برنامه‌نویسی تابعی (map, filter, functools.reduce و operator) یک فایل متنی شامل اعداد اعشاری (هر عدد در یک خط) را بخواند و میانگین و انحراف معیار نمونه آن‌ها را محاسبه و چاپ کند.

3.0 بازدید آخرین ویرایش در 223 روز قبل ساعت 01:04

0.0

فایل را باز کرده و با map(float, ...) رشته‌ها را به شناور تبدیل کن؛ برای محاسبه مجموع و تعداد می‌توان از functools.reduce به همراه operator.add یا از توابع داخلی مانند sum استفاده کرد. سپس میانگین را بدست آورده و با استفاده از map(lambda x: (x-mean)**2, values) و دوباره reduce یا sum مجموع مربعات انحراف‌ها را محاسبه و با math.sqrt و تقسیم بر (n-1) انحراف معیار نمونه را محاسبه کن. برای خواندن کارآمد و اجتناب از حلقه‌های صریح، در صورت نیاز مقادیر را در یک لیست نگهدار تا بتوان چند بار روی آنها عملیات تابعی انجام داد؛ در عین حال از generatorها برای صرفه‌جویی در حافظه استفاده کن.

توسط پژوهشگر در 223 روز قبل ساعت 01:04
دسته بندی ها: Python Python for beginner
nima در 223 روز قبل ساعت 14:45

توجه کنید که فایل ممکن است خطوط خالی یا مقادیر نامعتبر داشته باشد؛ بهتر است ورودی را با فیلتر یا مدیریت استثناء پاکسازی کنید. برای بهینه‌سازی حافظه از generatorها استفاده کنید و خطوط را خط به خط بخوانید، مگر اینکه نیاز به نگهداری مقادیر در لیست برای انجام چند عملیات باشد. هنگام محاسبه، میانگین را از تمام مقادیر استخراج کنید و انحراف معیار نمونه را با تقسیم بر (n-1) و استفاده از sqrt محاسبه کنید. همچنین افزودن توضیح کوتاه دربارهٔ گزینه‌های استفاده از map، filter، reduce و operator به کد، فهم و نگهداری آن را بهبود می‌دهد.

گزارش

1 پاسخ

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

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