使用Python翻译/替换多个字母

时间:2018-10-15 18:43:32

标签: python translate

我正在研究一个非常基本的翻译程序。目前,它只能在一个短语中处理一个字母。例如,如果我输入“ test”,它将脱口而出“ yesy”,因为它将“ t”更改为“ y”。这是我用来执行此操作的代码:

def translate(phrase):
    translation = ""
    for letter in phrase:
        if letter in "t":
            translation = translation + "y"
        else:
            translation = translation + letter
    return translation




print(translate(input("Enter word: ")))

是否可以添加另一个要翻译的字母。因此,例如,从“ t”到“ y”的顶部是从“ e”到“ a”。这样它就会吐出“ yasy”。

2 个答案:

答案 0 :(得分:3)

使用str.replace的方法要简单得多:'test'.replace('t','y').replace('e','a')

但是,如果您希望替换越来越多的字母str.translate会更有效:

from string import maketrans

trans_from = "te"
trans_to = "ya"
trans_model = maketrans(trans_from, trans_to)

'test'.translate(trans_model)

或者,如果您想保留自己的代码,则可以使用elif

def translate(phrase):
    translation = ""
    for letter in phrase:
        if letter in "t":
            translation = translation + "y"
        elif letter in "e":
            translation = translation + "a"
        else:
            translation = translation + letter
    return translation

print(translate(input("Enter word: ")))

答案 1 :(得分:0)

使用字典。

en-gb = {'t':'y', add more here}
def translate(phrase): 
    translation = str()
    for char in phrase:
        translation = translation +   en-gb[char]
    return translation
相关问题