Python · از صفر

پاک‌ساز شناسهٔ عددی ساختگی

تمرین مرحلهٔ 14: تبدیل رقم فارسی و عربی به انگلیسی بدون تغییر طول؛ بدون نیاز به یادگیری ماشین و با ارزیابی واقعی خروجی.

۴۶ دقیقه · ۹۰ XP · Unicode · translate · maketrans

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

تبدیل رقم فارسی و عربی به انگلیسی بدون تغییر طول

ورودی

request.json: value: شناسهٔ ساختگی رشته‌ای شش‌رقمی؛ رقم فارسی/عربی تبدیل شود، فقط فاصله و خط تیره حذف شود. نامعتبر: invalid_id.

خروجی

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

  1. مقالهٔ پیش‌نیاز را بخوانید و نمونه‌کد آن را جدا اجرا کنید.
  2. با str.maketrans نگاشت ده رقم فارسی و ده رقم عربی به رقم انگلیسی می‌سازیم. translate این نگاشت را روی همهٔ متن اعمال می‌کند. فقط فاصله و خط تیره حذف می‌شوند؛ سایر نویسه‌ها مجاز نیستند. نتیجه باید دقیقاً شش رقم انگلیسی باشد. خروجی رشته می‌ماند تا صفرهای آغازین از بین نروند.
  3. در main.py تابع solve(data) را تکمیل کنید؛ بخش خواندن request.json و نوشتن result.json را حفظ کنید.
  4. با ورودی نمونه و حالت‌های مرزیِ راهنما اجرا کنید؛ سپس ارزیابی را بزنید.

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

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

{
    "input": {
        "value": "۰۰۱-۲۳۴"
    },
    "output": {
        "normalized": "001234"
    }
}

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

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

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

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

  • شکستن مسئله به تابع‌ها؛ گزارش نمرات
یونیکد و translate؛ عادی‌سازی رقم‌های فارسی ←

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

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