حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش کار با فایل در پایتون؛ CSV، JSON و گزارش‌گیری

اعتبارسنجی quantity در پایتون؛ عدد صحیح مثبت

اعتبارسنجی داده فروش پایتون؛ رد کردن ردیف خراب و شمارش خطا · 0٪

✍️ تعداد فروش باید هم قابل تبدیل به عدد صحیح باشد و هم از صفر بزرگ‌تر باشد. این دو شرط جدا هستند. متن صفر یک عدد صحیح معتبر می‌سازد، اما در قرارداد این گزارش، فروش صفرعددی ثبت نمی‌کنیم. تعداد منفی هم قرار نیست به شکل برگشت کالا تعبیر شود؛ چنین رفتاری باید در قرارداد دیگری تعریف شود.

مثلاً ' 4 ' بعد از تبدیل چهار می‌شود و پذیرفته است، ولی '-2' و '1.5' هر دو رد می‌شوند؛ اولی به علت دامنه و دومی به علت نوع عدد. لازم نیست اعشار را گرد کنی یا با float بخوانی و بعد قسمت صحیحش را برداری؛ آن کار داده نامعتبر را بی‌صدا عوض می‌کند.

تابع ناقص تبدیل را با مدیریت ValueError دارد. شرط مثبت بودن را اضافه کن تا خروجی یا عدد معتبر باشد یا None. رشته خالی و فقط‌فاصله هم قابل تبدیل نیستند. خطای رایج، استفاده از شرط >= 0 یا برگرداندن صفر هنگام خطا است؛ در هر دو حالت مرز تعداد معتبر مبهم می‌شود. این تابع فقط رشته می‌گیرد؛ لازم نیست برای فهرست، بولی یا شیء دلخواه رفتار تازه‌ای اختراع کنی.

فعالیت شما

تابع parse_quantity(text) یک رشته می‌گیرد؛ اگر int(text) موفق است و حاصل >0 است همان عدد صحیح را بده، وگرنه None. قواعد متن صحیح همان int پایتون است؛ فاصله دو سر مجاز، اعشار/خالی/کلمه نامعتبر، صفر و منفی نامعتبر. parse_quantity(' 4 ')=4 و parse_quantity('0')=None. ورودی غیررشته در قرارداد نیست.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

کد اولیهٔ فعالیت

def parse_quantity(text):
    try:
        number = int(text)
    except ValueError:
        return None
    # TODO: enforce the allowed quantity range
    return number