scoreList(Rack)関数は、文字のリストを取ります。あなたはまた、グローバル変数辞書を与えられます:["a"、 "am"、 "at"、 "apple"、 "bat"、 "bar"、 "babble"、 "can"、 "foo" "spammy"、 "zzyzva"]。リストのすべての組み合わせを見つける
英字のリストを使用すると、辞書にある文字で可能なすべての単語を見つけることができます。作成できる単語ごとに、scrabbleScoreを使用してその単語のスコアを見つけることもできます。私はリスト内包(マップ、フィルタ、削減、など)のアップ、if文、およびループのために作られた式を使用することができます
scrabbleScore =
[ ["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] ]
が、それらは、リストのコンテキストである場合にのみ、理解。
例:
>>> scoreList(["a", "s", "m", "t", "p"])
[['a', 1], ['am', 4], ['at', 2], ['spam', 8]]
>>> scoreList(["a", "s", "m", "o", "f", "o"])
[['a', 1], ['am', 4], ['foo', 6]]
それらは重要ではありません提示される順序。それはまた、リストではなく、ダイスでなければなりません。この問題の助けを借りるか、この問題でマップやフィルターを使用する方法を理解することができれば助かります。これまで
マイコード:
def scoreList(Rack):
result = [d for d in Dictionary if all(l in Rack for l in d)]
return result
私の出力は:あなたが見ることができるように
>>> scoreList(["a", "s", "m", "t", "p"])
['a', 'am', 'at', 'spam']
私が発見した方法を出力言葉をではなく、スコアをします。私はまた、マップ、フィルター、または他のリスト内包表記の使用を実装する方法を理解していません。
なぜ以前の投稿を削除した後に何度も同じ質問をしていますか?あなたはそれを数分前に投稿しました、もし私が昨日も間違っていないならば。 –
申し訳ありませんが、私はいくつかの研究を行い、それを行う別の方法を見つけようとしましたが、これが私がそれを行うことができる唯一の方法です。 –
あなたは昨日の投稿で覚えている限り、あなたの質問を(私を含めて)解決した3-4人のユーザーが応答と時間のためにクレジットを与えるのではなく、投稿を削除したので、これはまったく公正ではありません。私はあなたの問題に答えるために私の時間を無駄にすると思いますか?彼らがあなたを覚えていれば誰も誰もなりません。 –