Volt egyszer egy bölcs szolga, aki megmentette egy herceg életét. A király megígérte, hogy megadja neki mindazt, amit a szolga csak kigondol. A szolga tudta, hogy a király szeret sakkozni, ezért azt kérte tőle, hogy búzaszemeket kapjon. Egy szem a sakktábla első mezőjén, a szemek száma pedig minden következő mezőn megduplázódik.
Számítsd ki, hány búzaszem van egy sakktáblán.
A sakktábla 64 mezőből áll. Az 1. mezőn egy szem van, a 2. mezőn kettő, a 3. mezőn négy, és így tovább, minden mezőn megduplázódik a szemek száma.
Írj kódot, amely kiszámítja:
Néha kivételt kell dobnod. Ilyenkor mindig adj meg egy beszédes hibaüzenetet, hogy jelezd, mi a hiba forrása. Ettől olvashatóbb lesz a kódod, és ez jelentősen segít a hibakeresésben. Ha olyan helyzettel találkozol, amikor tudod, hogy a hiba forrása egy bizonyos típusú lesz, dönthetsz úgy, hogy a beépített hibatípusok egyikét dobod, de ilyenkor is adj meg beszédes üzenetet.
Ennél a feladatnál a raise utasítással kell „dobnod” egy ValueError-t, ha a négyzet bemenete a megengedett tartományon kívül esik. A tesztek csak akkor futnak át, ha raise-elsz egy exception-t, és üzenetet is fűzöl hozzá.
Ha üzenettel együtt szeretnél ValueError-t dobni, írd az üzenetet a exception típus argumentumaként:
# when the square value is not in the acceptable range
raise ValueError("square must be between 1 and 64")
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Python nyelvet 17 fogalom146 feladat segítségével, valódi emberi mentorálással, mindez ingyen.