یک برنامهٔ پایتون بنویسید که از یک لیست اعداد شناور تمام ترکیب‌های دو‌تایی را با itertools.combinations تولید کند و برای هر ترکیب میانگین و اختلاف مطلق را محاسبه کرده و تنها ترکیب‌هایی را که اختلافشان کمتر از یک آستانهٔ ورودی هستند چاپ یا در فایل CSV ذخیره کند.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:01

0.0

برای حل این مسئله از itertools.combinations برای تولید همهٔ جفت‌ها استفاده کنید، سپس با لیست‌کامپریهنشن یا توابع تابعی مانند map و filter برای هر جفت میانگین (sum/2) و اختلاف مطلق (abs) را محاسبه کنید و بر اساس آستانه خروجی را فیلتر نمایید؛ برای عملیات عددی سنگین می‌توانید از numpy استفاده کنید و جهت خودکارسازی خروجی از ماژول csv یا pandas برای نوشتن در فایل بهره ببرید. نکات مفید: ورودی‌ها را به float تبدیل کنید، بررسی کنید آستانه معتبر باشد، و دقت کنید پیچیدگی زمانی به تعداد جفت‌ها (O(n^2)) مربوط می‌شود.

توسط پژوهشگر در 202 روز قبل ساعت 03:01
دسته بندی ها: Python Python for beginner
arash در 202 روز قبل ساعت 07:44

برای این کار از itertools.combinations برای تولید جفت‌های لیست اعداد شناور استفاده کنید و ورودی‌ها را به float تبدیل کنید تا از خطاهای نوع جلوگیری شود. برای صرفه‌جویی در حافظه خروجی را به‌عنوان ژنراتور پردازش کنید و با csv یا pandas مستقیماً بنویسید. استفاده از numpy برای محاسبه میانگین و اختلاف مطلق می‌تواند سرعت را افزایش دهد، اما زمان کل به تعداد جفت‌ها یعنی n(n−1)/2 بستگی دارد. همچنین آستانه را معتبرسازی کنید و در صورت نامعتبر بودن پیام خطای مناسب بدهید.

گزارش

1 پاسخ

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

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