Python · از صفر

بررسی قواعد رشتهٔ آزمایشی

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

۴۰ دقیقه · ۷۵ XP · bool · any · all · Methods

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

ترکیب شرط‌ها و گزارش جداگانهٔ هر قاعده

ورودی

request.json: text: رشتهٔ کاملاً ساختگی؛ قواعد length>=8، upper، lower و digit جدا گزارش شوند. هیچ رمز واقعی وارد نکنید.

خروجی

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

  1. مقالهٔ پیش‌نیاز را بخوانید و نمونه‌کد آن را جدا اجرا کنید.
  2. چهار قاعده را در دیکشنری checks نگه می‌داریم. برای وجود رقم، روی نویسه‌ها پیمایش می‌کنیم و نتیجهٔ isdigit را به any می‌دهیم. سپس all روی مقدارهای checks نتیجهٔ کلی را می‌سازد. نگه‌داشتن نتیجهٔ تک‌تک قواعد نشان می‌دهد کدام شرط شکست خورده، در حالی که یک جواب بله یا خیر چنین توضیحی ندارد.
  3. در main.py تابع solve(data) را تکمیل کنید؛ بخش خواندن request.json و نوشتن result.json را حفظ کنید.
  4. با ورودی نمونه و حالت‌های مرزیِ راهنما اجرا کنید؛ سپس ارزیابی را بزنید.

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

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

{
    "input": {
        "text": "Abcdef12"
    },
    "output": {
        "checks": {
            "length": true,
            "upper": true,
            "lower": true,
            "digit": true
        },
        "valid": true
    }
}

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

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

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

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

  • تابع در پایتون؛ ورودی، خروجی و مسئولیت مشخص
منطق بولی و any؛ ساخت یک بررسی‌گر آموزشی ←

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

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