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