2016-07-26 3 views
-5

Хорошо, поэтому мне нужна помощь, потому что мне нужно создать функцию, которая вычисляет и возвращает общее значение точки (как int) myWord, используя словарь буквенных точек, который состоит из письма: пары pointValue. Его для Scrabble Word Finder. Я уже создал словарь с буквами. Функция требует один параметр: «MyWords»:Проблемы с созданием функции python «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

Вы знаете, как получить доступ к значениям из Dict? Знаете ли вы, как добавлять ценности? В чем проблема? Если вы не знаете, как начать работу, взгляните на [циклы] (http://stackoverflow.com/documentation/python/237/loops/862/for-loops#t=201607260519137665561). –

+0

Добро пожаловать в переполнение стека :-) что вы пробовали? Этот сайт не работает, вызывая код – JimHawkins

ответ

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

, он все время возвращает «0». – HelpPython

+1

Используйте заглавные буквы или добавьте это в определение: MyWord = MyWord.upper() – RickyTamma

+1

Сначала избавьтесь от 'global'. Во-вторых, нет необходимости вызывать метод 'keys()'. 'если буквы в letterPoints:' достаточно. В-третьих, вы должны взглянуть на [Руководство по стилю для кода Python] (https://www.python.org/dev/peps/pep-0008/). – Matthias

Смежные вопросы