代码之家  ›  专栏  ›  技术社区  ›  Anonyo Noor

这个翻译器如何替换字母

  •  0
  • Anonyo Noor  · 技术社区  · 4 年前
    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来翻译它?

    1 回复  |  直到 4 年前
        1
  •  2
  •   Kevin Sheng    4 年前

    关键在这里:

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

    如果字母是元音,那么它会加上一个g 而不是 假定的元音( translation = translation + letter 不会被执行)。

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

    推荐文章