Problem 10 (200pts)
注意:下载的代码中,Problem 10和 Problem 11的代码都包含一行
assert False,这是因为hog_gui.py可能会调用这些函数,而调用没实现的代码可能会产生莫名其妙的错误。请在编写完自己的代码前将这行代码删除,不然你编写的代码会无法运行。
战略可以在最有利的时候通过掷0来利用Picky Piggy规则。
实现picky_strategy,当掷0能给出至少threshold分时返回0,否则返回num_rolls。
此战略不需要同时考虑Swine Swap规则。
提示: 您可以使用在问题2中定义的函数
picky_piggy。
在编写任何代码之前,请解锁测试以验证您对问题的理解。
python ok -q 10 -u
解锁完成后,开始实现您的解决方案。您可以使用以下命令检查正确性:
python ok -q 10
一旦您实现了此战略,请更改run_experiments以将您的新战略与基线进行评估。
此战略相比基线是改进了吗?
Solutions
def picky_strategy(score, opponent_score, threshold=8, num_rolls=6):
return 0 if picky_piggy(opponent_score) >= threshold else num_rolls