Python · از صفر

گزارش مقاوم زمان مطالعه

تمرین مرحلهٔ 20: مقایسهٔ mean و median روی دادهٔ دارای مقدار بزرگ؛ بدون نیاز به یادگیری ماشین و با ارزیابی واقعی خروجی.

۵۸ دقیقه · ۱۲۰ XP · statistics · mean · median

هدف و راهنمای انجام

مقایسهٔ mean و median روی دادهٔ دارای مقدار بزرگ

ورودی

request.json: minutes: لیست عددهای متناهی غیرمنفی؛ spread برابر max-min. لیست خالی: error=empty_data.

خروجی

result.json مطابق ساختار مثال؛ تمام کلیدهای نشان‌داده‌شده الزامی هستند.

  1. مقالهٔ پیش‌نیاز را بخوانید و نمونه‌کد آن را جدا اجرا کنید.
  2. در این پروژه زمان مطالعهٔ چند جلسه در minutes می‌آید. با mean میانگین و با median میانه را می‌گیریم و spread را از بیشینه منهای کمینه حساب می‌کنیم. دادهٔ خالی شاخص قابل محاسبه ندارد و error=empty_data برمی‌گرداند. در دادهٔ تک‌عضوی، هر دو شاخص همان مقدار و دامنه صفر است.
  3. در main.py تابع solve(data) را تکمیل کنید؛ بخش خواندن request.json و نوشتن result.json را حفظ کنید.
  4. با ورودی نمونه و حالت‌های مرزیِ راهنما اجرا کنید؛ سپس ارزیابی را بزنید.

Python 3؛ دادهٔ ورودی طبق قرارداد است. تابع solve باید برای همهٔ ورودی‌ها کار کند، نه فقط مثال. کتابخانهٔ خارجی لازم نیست؛ ماژول‌های استاندارد همراه Python 3 هستند.

مثال ورودی و خروجی

{
    "input": {
        "minutes": [
            10,
            20,
            300
        ]
    },
    "output": {
        "mean": 110,
        "median": 20,
        "spread": 290
    }
}

معیارهای موفقیت

  • ساختار و نوع خروجی با قرارداد برابر است.
  • محاسبه برای چند ورودی متفاوت و حالت‌های مرزی درست است.
  • اجرای ساده XP نمی‌دهد؛ فقط قبولی ارزیابی معتبر باعث ثبت تکمیل می‌شود.

کتابخانه‌ها: json, pathlib

پیش‌نیاز و ترتیب یادگیری

  • تاریخ در پایتون؛ محاسبهٔ فاصلهٔ روزها
ماژول statistics؛ میانگین و میانه چه فرقی دارند؟ ←

برای شروع، مقالهٔ بالا را بخوانید. Python 3 و کتابخانه‌های موردنیاز در میزکار آماده‌اند؛ نصب آنلاین از ترمینال میزکار لازم نیست.

برای نوشتن و اجرای کد وارد شوید