دانه

دانه

آسان

مقدمه

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

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

تعداد دانه‌های گندم روی یک صفحه‌ی شطرنج را محاسبه کنید.

یک صفحه‌ی شطرنج ۶۴ خانه دارد. خانه‌ی ۱ یک دانه دارد، خانه‌ی ۲ دو دانه دارد، خانه‌ی ۳ چهار دانه دارد و به همین ترتیب، هر بار دو برابر می‌شود.

کدی بنویسید که این موارد را محاسبه کند:

  • تعداد دانه‌های روی یک خانه‌ی مشخص
  • تعداد کل دانه‌ها روی صفحه‌ی شطرنج

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

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

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

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

# when the square value is not in the acceptable range        
raise ValueError("square must be between 1 and 64")
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Python Exercism

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

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