Ich habe eine Funktion wordScore (Wort, ScoreList). Das Wort ist eine Zeichenfolge, die nur aus Buchstaben besteht und scoreList ist eine Liste den Wert der einzelnen Buchstaben des Alphabets enthalten:Finden Sie den Wert jedes Buchstabens in einem Wort mit Karte und reduzieren
scoreList = [ ["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] ]
Ich habe das Gesamtergebnis eines Wortes zu finden und es dann zurück Karte unterhalten und reduzieren . Beispiel:
Ich glaube, dass ich nicht in der Lage, dieses Problem zu tun, weil ich nicht sicher bin, welche Karte tut. Ich würde wirklich etwas Hilfe schätzen.
Zweites Problem: So, jetzt bin ich eine Liste von Buchstaben angegeben, die (listOfwords sagen lässt = ["a", "am", "at", "apple", "bat", "bar", "babble", "can", "foo", "spam", "spammy", "zzyzva"]
) Wenn ich Eingabe eine Liste von Buchstaben in scoreList (Rack) (wie scoreList(["a", "s", "m", "t", "p"])
dann ausgeben soll alle möglichen Wörter, die kann . mit den Buchstaben gemacht werden, die in listOfwords sind also im Grunde würde es sein:
>>> 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]]
Dies ist mein Code so weit:
def scoreList(Rack):
test = [x for x in Dictionary if all(y in Rack for y in x)]
return test
Allerdings, wenn ich laufen diese es gibt mir nur die Worte, die kann mit den Buchstaben gemacht werden und ich bin nicht sicher, wie man die Kerbe für jedes Wort erhält. Könnte ich wordScore verwenden? Es gelten auch die gleichen Einschränkungen.
können Sie 'scoreList' in eine dict verwandeln? wie zum Beispiel: '{ '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} ' – Hadrien
Leider nein es muss eine Liste bleiben. Wenn ich könnte, wäre es viel einfacher. –