首页 > 解决方案 > Python:这个翻译器如何替换字母

问题描述

def translate(phrase):
    translation = ""
    for letter in phrase:
        if letter.lower() in "aeiouy":
            if letter.upper():
                translation = translation + "G"
            else:
                translation = translation + "g"
        else:
            translation = translation + letter
    return translation
print(translate(input("Enter A Phrase to Translate: ")))

我只是在学习 python 并按照教程进行操作,但我不理解这段代码。所以这是一个使所有元音“G”的基本翻译器,for循环选择用户输入的短语中的每个字母并检查它是否是元音,我没有得到的是它找到元音后,它补充说g 到翻译中,这是如何工作的,如果您尝试替换元音,为什么将 g 添加到整个事物中会翻译它?

标签: pythonalgorithmuppercaselowercase

解决方案


关键在这里:

        if letter.lower() in "aeiouy":
            if letter.upper():
                translation = translation + "G"
            else:
                translation = translation + "g"
        else:
            translation = translation + letter

如果字母是元音,则添加 ag而不是假定的元音(translation = translation + letter不会执行)。

此外,由于letter.upper()不检查它是否为小写(它只是将字符转换为大写),translation = translation + "g"因此永远不会到达 - 也许替换letter.upper()letter == letter.upper()?


推荐阅读