یک برنامهٔ پایتون بنویسید که از یک لیست اعداد شناور تمام ترکیبهای دوتایی را با itertools.combinations تولید کند و برای هر ترکیب میانگین و اختلاف مطلق را محاسبه کرده و تنها ترکیبهایی را که اختلافشان کمتر از یک آستانهٔ ورودی هستند چاپ یا در فایل CSV ذخیره کند.
2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:01 0.0
برای حل این مسئله از itertools.combinations برای تولید همهٔ جفتها استفاده کنید، سپس با لیستکامپریهنشن یا توابع تابعی مانند map و filter برای هر جفت میانگین (sum/2) و اختلاف مطلق (abs) را محاسبه کنید و بر اساس آستانه خروجی را فیلتر نمایید؛ برای عملیات عددی سنگین میتوانید از numpy استفاده کنید و جهت خودکارسازی خروجی از ماژول csv یا pandas برای نوشتن در فایل بهره ببرید. نکات مفید: ورودیها را به float تبدیل کنید، بررسی کنید آستانه معتبر باشد، و دقت کنید پیچیدگی زمانی به تعداد جفتها (O(n^2)) مربوط میشود.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای این کار از itertools.combinations برای تولید جفتهای لیست اعداد شناور استفاده کنید و ورودیها را به float تبدیل کنید تا از خطاهای نوع جلوگیری شود. برای صرفهجویی در حافظه خروجی را بهعنوان ژنراتور پردازش کنید و با csv یا pandas مستقیماً بنویسید. استفاده از numpy برای محاسبه میانگین و اختلاف مطلق میتواند سرعت را افزایش دهد، اما زمان کل به تعداد جفتها یعنی n(n−1)/2 بستگی دارد. همچنین آستانه را معتبرسازی کنید و در صورت نامعتبر بودن پیام خطای مناسب بدهید.
گزارش