Skip to content

Problem 2 (200pts)

实现picky_piggy,它接受对手的当前得分并返回掷0个骰子所得到的分数(参见Picky Piggy规则)。

不要假设得分低于100。 编写您的picky_piggy函数,使其对任何非负得分都能正确工作。

重要: 您的实现不能使用str、列表,或包含方括号[ ]。 测试用例会检查是否使用了这些内容。 一旦您实现了该函数,请记得从函数中删除"*** YOUR CODE HERE ***"字符串,以免出现意外的str检查错误。

在编写任何代码之前,请解锁测试以验证您对问题的理解。

python ok -q 02 -u

解锁完成后,开始实现您的解决方案。您可以使用以下命令检查正确性:

python ok -q 02

您还可以通过在终端中输入python -i hog.py来交互式测试picky_piggy,然后使用各种输入调用picky_piggy

Solutions

def picky_piggy(opponent_score):
    """Return the points scored from rolling 0 dice accodring to Picky Piggy.

    opponent_score:  The total score of the other player.

    Hint: for this problem, you will find the built-in function abs (i.e., absolute value) useful.
    >>> abs(0)
    0
    >>> abs(1)
    1
    >>> abs(-1)
    1
    """
    # BEGIN PROBLEM 2
    return 1 + 2 * abs(opponent_score % 10 - opponent_score // 10 % 10)
    # END PROBLEM 2