从前有一位聪明的仆人,他救下了一位王子的性命。 国王答应,仆人想要什么,就赏他什么。 仆人知道国王喜欢下国际象棋,便告诉国王,他想要麦粒。 棋盘的第一格放一粒麦粒,之后每一格的数量都翻一倍。
计算棋盘上的小麦粒数。
棋盘有 64 个格子。 第 1 格有 1 粒小麦,第 2 格有 2 粒,第 3 格有 4 粒,以此类推,每格数量翻倍。
编写代码来计算:
有时你需要抛出异常。抛出异常时,一定要附带一条有意义的错误消息,说明错误的来源。这样代码更易读,也能大大方便调试。如果你确定错误来源是某种特定类型,可以选择抛出内置错误类型中的一种,但同样要附带一条有意义的错误消息。
本练习要求你在方格输入超出范围时,用 raise 语句“抛出”ValueError。只有同时raise这个exception并附带消息,测试才会通过。
要抛出带消息的 ValueError,把消息写成exception类型的实参:
# when the square value is not in the acceptable range
raise ValueError("square must be between 1 and 64")