2016-07-26 21 views
-5

In Ordnung, also brauche ich Hilfe, weil ich eine Funktion erstellen muss, die berechnet und den gesamten Punktwert (als int) von myWord mit dem letterPoints-Wörterbuch zurückgibt, das besteht des Buchstabens: pointValue-Paare. Es ist für einen Scrabble Word Finder. Ich habe bereits ein Wörterbuch mit den Buchstaben erstellt. Die Funktion muss einen Parameter: "MyWords":Probleme beim Erstellen einer Python-Funktion "getWordPoints" --Python

 global letterPoints 
    letterPoints = {"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} 
+0

Wissen Sie, wie Werte für den Zugriff von einem dict? Wissen Sie, wie Sie Werte hinzufügen? Was ist das Problem? Wenn Sie nicht wissen, wie Sie anfangen sollen, werfen Sie einen Blick auf [Schleifen] (http://stackoverflow.com/documentation/python/237/loops/862/for-loops#t=201607260519137665561). –

+0

Willkommen beim Stack-Overflow :-) Was hast du bisher probiert? Diese Seite funktioniert nicht, indem sie den Code – JimHawkins

Antwort

0
global letterPoints 
letterPoints = {"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} 

def GetValues(MyWord): 
    total = 0 
    for letter in MyWord: 
     if letter in letterPoints.keys(): 
      total = total + letterPoints[letter] 
    return total 
+0

aufruft und die ganze Zeit "0" zurückgibt. – HelpPython

+1

Großbuchstaben verwenden oder zur Definition hinzufügen: MyWord = MyWord.upper() – RickyTamma

+1

Zuerst "global" loswerden. Zweitens muss die 'keys()' Methode nicht aufgerufen werden. 'wenn Buchstabe in BuchstabenPunkten:' ist genug. Drittens sollten Sie sich den [Style Guide for Python Code] (https://www.python.org/dev/peps/pep-0008/) ansehen. – Matthias