【问题标题】:Python: How do I convert every letter to a lowercase using a for loop?Python:如何使用 for 循环将每个字母转换为小写?
【发布时间】: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

【问题讨论】:

  • lower string 方法不会改变字符串(事实上它不能,因为字符串是不可变的)。它返回新字符串。所以你需要letter = letter.lower()

标签: python dictionary for-loop methods conditional


【解决方案1】:

letter.lower() 返回一个新的String(不影响字母String)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 2022-01-16
    • 2021-11-13
    • 2015-07-28
    相关资源
    最近更新 更多