Python: Как мне преобразовать каждую букву в нижний регистр, используя цикл for? - PullRequest
0 голосов
/ 25 мая 2019

В этом упражнении я должен проверить каждую букву в слове с помощью цикла for и одновременно проверить, существует ли буква в словаре. Тем не менее, я должен сделать каждую букву строчной, чтобы буквы правильно суммировались с общим значением. Я пытался использовать функцию .lower (), прежде чем проверять, присутствуют ли буквы в словаре, но я, кажется, где-то допустил глупую ошибку. Словарь выглядит примерно так: letter_value_dict = {"r": 2, "s": 2, "h": 4, "t": 3, "m": 7, "g": 4, "v": 8 }

def get_text_valuation(letter_worth_dict, text): #generate a sum total value using this function
    value = 0
    for letter in text:
        letter.lower()
        if letter.isalpha() == True: 
            if not letter in letter_worth_dict:
                value += 1
            elif letter in letter_worth_dict:
                value += letter_worth_dict[letter]

    return value

1 Ответ

2 голосов
/ 25 мая 2019

letter.lower () возвращает новую строку (не влияет на строковую строку)

def get_text_valuation(letter_worth_dict, text): #generate a sum total value using this function
    value = 0
    for letter in text:
        letter=letter.lower()
        if letter.isalpha() == True: 
            if not letter in letter_worth_dict:
                value += 1
            elif letter in letter_worth_dict:
                value += letter_worth_dict[letter]

    return value
...