【发布时间】:2019-10-11 12:51:03
【问题描述】:
在这个练习中,我必须使用 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
【问题讨论】:
-
lowerstring 方法不会改变字符串(事实上它不能,因为字符串是不可变的)。它返回新字符串。所以你需要letter = letter.lower()
标签: python dictionary for-loop methods conditional