Python:这个翻译器如何替换字母
我只是在学习python并遵循一个教程,我不理解这段代码。这是一个基本的翻译器,使所有元音都变成“G”,for循环选择用户输入的短语中的每个字母并检查它是否是元音,我没有得到的是在找到元音后,它将G添加到翻译中,这是如何工作的,如果你试图替换元音,为什么在整个元音中加上g会翻译它?关键在于:Python:这个翻译器如何替换字母,python,algorithm,uppercase,lowercase,Python,Algorithm,Uppercase,Lowercase,我只是在学习python并遵循一个教程,我不理解这段代码。这是一个基本的翻译器,使所有元音都变成“G”,for循环选择用户输入的短语中的每个字母并检查它是否是元音,我没有得到的是在找到元音后,它将G添加到翻译中,这是如何工作的,如果你试图替换元音,为什么在整个元音中加上g会翻译它?关键在于: def translate(phrase): translation = "" for letter in phrase: if letter.lower
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: ")))
如果字母是元音,那么它会添加一个g而不是假定的元音(translation=translation+letter
)
另外,由于
letter.upper()
不检查它是否为小写(它只是将字符转换为大写),translation=translation+“g”
将永远无法到达-可能将letter.upper()
替换为letter==letter.upper()
?何时将letter.upper()
不被认为是真的吗?@ScottHunter从不。我在自己的电脑上运行了它,asdf
结果是Gsdf
而不是假定的Gsdf
。非常感谢你,我已经为此苦苦挣扎了一个小时,你很好地解决了这个问题,我还用letter==letter.upper()@anoor1234解决了这个问题。很高兴能提供帮助。如果这有帮助,请投票/接受我的答案。顺便说一句,还有letter.isupper()
返回bool
,至少对于字母字符应该是等效的。
if letter.lower() in "aeiouy":
if letter.upper():
translation = translation + "G"
else:
translation = translation + "g"
else:
translation = translation + letter