如何检查用户输入是否在列表中,并获取其列表号?

时间:2018-09-06 01:21:26

标签: python python-3.x

我喜欢最近3天进入python(总共大约2周);我想制作一个脚本,将英语翻译为dovahzul,反之亦然。随时告诉我如何简化我已经完成的操作,或者给我一个可以帮助的模块;不过,即时通讯使用pythonista,因此可能不是一个选择。

english = ['the','quick','brown']
dovahzul = ['faal','nel','prun']

text = input()

def translate_eng():
    print('eng')
    return

def translate_dov():
    print('dov')
    return

if text in english:
    translate_eng()
else:
    translate_dov()

1 个答案:

答案 0 :(得分:0)

就像在现实生活中一样,逐词翻译将需要字典。

english_to_dovahzul = {
    'the': 'faal',
    'quick': 'nel',
    'brown': 'prun'
}

def translate(text, dictionary, filler=None):
    return ' '.join([dictionary.get(word, filler or word) for word in text.split()])

print(translate('the quick brown fox', english_to_dovahzul, filler='?'))

输出

faal nel prun ?

您将通过在字典中添加单词来扩展语言。

要获得逆翻译,您可以像这样反转字典。

dovahzul_to_english = {v: k for k, v in english_to_dovahzul.items()}

当然,现代翻译远不是像这样逐字逐句地使用,但似乎足以满足您的目的。