函数bestWord(Rack)接受一个输入Rack(这是一个字母列表)并返回一个包含两个元素的列表:来自该Rack的最高得分词然后是得分。如果有联系,他们可以任意打破。提供了另一个名为scrabbleScore的列表,以便您知道每个字母的值,以及包含可以使用字母创建的单词的Dictionary。
scrabbleScores = [ ["a", 1], ["b", 3], ["c", 3], ["d", 2], ["e", 1],
["f", 4], ["g", 2], ["h", 4], ["i", 1], ["j", 8],
["k", 5], ["l", 1], ["m", 3], ["n", 1], ["o", 1], ["p", 3],
["q", 10], ["r", 1], ["s", 1], ["t", 1], ["u", 1], ["v", 4],
["w", 4], ["x", 8], ["y", 4], ["z", 10] ]
Dictionary = ["a", "am", "at", "apple", "bat", "bar", "babble", "can",
"foo", "spam", "spammy", "zzyzva"]
示例:
>>> bestWord(["a", "s", "m", "t", "p"])
>>> ['spam', 8]
我只能使用由列表推导(地图,过滤器等)组成的表达式,并且必须将scrabbleScores保留为列表而不是字典。如果有人可以帮助我,或者帮助我更好地理解地图和过滤,我将不胜感激。