首页 > 解决方案 > 在 Python 3 中创建一个单词翻译应用程序。任何“最佳实践”?

问题描述

我正在尝试编写一个将英语翻译成厨师(来自木偶表演)语言的代码

它应该将这些字母/声音更改为另一种语言

Input   Output
tion    shun
an  un
th  z
v   f
w   v
c   k
o   oo
i   ee

我必须编写一个函数(def)来转换它,以便它打印新语言

print(eng2chef('this is a chicken'))

应该返回

zees ees a kheekken

到目前为止,我的代码是:

help_dict = { 
    'tion': 'shun', 
    'an': 'un', 
    'th': 'z',
    'v': 'f', 
    'w': 'v', 
    'c': 'k', 
    'o': 'oo', 
    'i': 'ee', 
} 
def eng2chef(s):

  s.split()
  for i in s:
    if i in help_dict:
      i = help_dict[i]
      print(i)

eng2chef('this is a chicken')

但这只会更改某些字母,然后打印这些字母

ee
ee
k
ee
k

有人可以帮忙!!

标签: python

解决方案


您可以通过迭代替换字符串来做到这一点:

help_dict = [
    ('tion', 'shun'),
    ('an', 'un'),
    ('th', 'z'),
    ('v', 'f'),
    ('w', 'v'),
    ('c', 'k'),
    ('o', 'oo'),
    ('i', 'ee')
]
def eng2chef(s):
     for x, y in help_dict:
         s = s.replace(x,y)
     return s

但请注意,我将您的 dict 更改为列表,以便强制执行替换顺序。这很关键,因为您不想将“w”替换为“v”,然后将“v”替换为“f”,反之亦然。


推荐阅读