دوست شما Yaʻqūb پشت پیشخوان شلوغترین فروشگاه ساندویچ شهر کار میکند؛ سفارشهای یک صف بیپایان از مشتریان گرسنه را برش میدهد، وزن میکند و بستهبندی میکند.
برای اینکه کارها سریع پیش برود، هر مشتری هنگام رسیدن یک بلیت شمارهدار برمیدارد.
وقتی وقت آن میرسد که نفر بعدی را صدا بزنند، Yaʻqūb شمارهی او را با صدای بلند میخواند، همیشه با کلمات کامل انگلیسی، تا مطمئن شود همه آن را بهوضوح میشنوند.
یک عدد به شما داده میشود. وظیفهی شما این است که آن را با کلمات انگلیسی، دقیقاً همانطور که دوستتان باید آن را با صدای بلند بگوید، بیان کنید. Yaʻqūb انتظار دارد از اعداد ۰ تا ۹۹۹٬۹۹۹٬۹۹۹٬۹۹۹ استفاده کند.
مثالها:
گاهی لازم است یک استثنا ایجاد کنید. وقتی این کار را میکنید، باید همیشه یک پیام خطای معنادار را هم بگنجانید تا نشان دهید منبع خطا چیست. این کار 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")