0

我目前正在研究将文本行翻译成猪拉丁语变体的代码,其中一个要求是在任何出现双辅音(bb、cc、dd 等)时,字符串需要在这两个辅音并将单词改写为:“s” + part 2 + part 1 + “s”。

我的代码的第一部分是

raw = input("Enter a line to be translated: ")
words = raw.split()
for word in words:

任何帮助将不胜感激。

示例输入/输出:“你好,我是 Sammy,很高兴认识你”=“slohels,我是 smysams,很高兴认识你”

4

2 回答 2

1

您可能想在这里使用正则表达式...

>>> import re
>>> s = 'hello, I am Sammy, nice to meet you'
>>> re.sub('((\w*([bcdfghjklmnpqrstvwxyz]))(\\3\w*))', 's\\4\\2s', s)
'slohels, I am smySams, nice to meet you'

差不多好了... :)

于 2013-11-10T23:18:55.197 回答
0

我会在路上帮助你。

double_consonants = [2*c for c in 'bcdfghjklmnpqrstvwxz']

for word in raw:
    for d_c in double_consonants:
        if d_c in word:
            # You should be able to finish this bit yourself

你应该看看字符串方法。提示:尝试:

>> s = "I am going to apply for a job".split('pp')

那返回什么?另一个技巧是使用类似上面的代码,并将其放在 for 循环中。也许你应该先把弹簧分成一个单词列表?

编辑:我在这里没有给你完整答案的原因是我怀疑这是一个家庭作业。

于 2013-11-10T22:30:01.490 回答