Python · از صفر

کارنامهٔ خلاصهٔ کلاس

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

۴۴ دقیقه · ۸۵ XP · Functions · Validation · Lists

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

ترکیب اعتبارسنجی، شمارش و میانگین در یک گزارش

ورودی

request.json: grades: لیست نمرهٔ عددی صفر تا بیست. لیست خالی: empty_grades؛ خارج بازه: invalid_grade.

خروجی

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

  1. مقالهٔ پیش‌نیاز را بخوانید و نمونه‌کد آن را جدا اجرا کنید.
  2. اگر فهرست نمره‌ها خالی باشد، error=empty_grades می‌دهیم. هر نمره باید در بازهٔ صفر تا بیست باشد؛ وجود یک نمرهٔ نامعتبر کل گزارش را invalid_grade می‌کند. بعد از این بررسی‌ها، تابع passed_count نمره‌های حداقل ده را می‌شمارد. تعداد مردودها برابر تعداد کل منهای قبول‌هاست و میانگین از همهٔ نمرات معتبر محاسبه می‌شود.
  3. در main.py تابع solve(data) را تکمیل کنید؛ بخش خواندن request.json و نوشتن result.json را حفظ کنید.
  4. با ورودی نمونه و حالت‌های مرزیِ راهنما اجرا کنید؛ سپس ارزیابی را بزنید.

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

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

{
    "input": {
        "grades": [
            8,
            10,
            18
        ]
    },
    "output": {
        "mean": 12,
        "passed": 2,
        "failed": 1
    }
}

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

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

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

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

  • مجموعه و حذف تکرار؛ حفظ ترتیب داده‌ها
شکستن مسئله به تابع‌ها؛ گزارش نمرات ←

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

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