گفتن

گفتن

آسان

مقدمه

دوست شما Yaʻqūb پشت پیشخوان شلوغ‌ترین فروشگاه ساندویچ شهر کار می‌کند؛ سفارش‌های یک صف بی‌پایان از مشتریان گرسنه را برش می‌دهد، وزن می‌کند و بسته‌بندی می‌کند.

برای اینکه کارها سریع پیش برود، هر مشتری هنگام رسیدن یک بلیت شماره‌دار برمی‌دارد.

وقتی وقت آن می‌رسد که نفر بعدی را صدا بزنند، Yaʻqūb شماره‌ی او را با صدای بلند می‌خواند، همیشه با کلمات کامل انگلیسی، تا مطمئن شود همه آن را به‌وضوح می‌شنوند.

دستورالعمل‌ها

یک عدد به شما داده می‌شود. وظیفه‌ی شما این است که آن را با کلمات انگلیسی، دقیقاً همان‌طور که دوستتان باید آن را با صدای بلند بگوید، بیان کنید. Yaʻqūb انتظار دارد از اعداد ۰ تا ۹۹۹٬۹۹۹٬۹۹۹٬۹۹۹ استفاده کند.

مثال‌ها:

  • ۰ → zero
  • ۱ → one
  • ۱۲ → twelve
  • ۱۲۳ → one hundred twenty-three
  • ۱٬۲۳۴ → one thousand two hundred thirty-four

پیام‌های استثنا

گاهی لازم است یک استثنا ایجاد کنید. وقتی این کار را می‌کنید، باید همیشه یک پیام خطای معنادار را هم بگنجانید تا نشان دهید منبع خطا چیست. این کار code شما را خواناتر می‌کند و کمک شایانی به debug می‌کند. در موقعیت‌هایی که می‌دانید منبع خطا از نوع مشخصی خواهد بود، می‌توانید یکی از انواع خطای داخلی را ایجاد کنید، اما باز هم باید پیام معناداری همراه آن بگنجانید.

این تمرین به‌طور خاص می‌خواهد که شما از دستور raise استفاده کنید تا اگر عدد ورودی به say() خارج از محدوده بود، یک ValueError را «پرتاب» کنید. testها تنها در صورتی قبول می‌شوند که هم exception را raise کنید و هم پیامی همراه آن بگنجانید.

برای اینکه یک ValueError همراه با پیام ایجاد کنید، پیام را به‌صورت آرگومان به نوع exception بدهید:

# if the number is negative
raise ValueError("input out of range")

# if the number is larger than 999,999,999,999
raise ValueError("input out of range")
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Python Exercism

آماده‌اید گفتن را شروع کنید؟

در Exercism ثبت‌نام کنید تا Python را همراه با 17 مفهوم146 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.