1

大家,早安。

所以我们在这里完成任务。

编写一个函数,将一些文本翻译成猪波兰语,反之亦然。

波兰语翻译成猪波兰语的方法是取每个单词的第一个字母,将其移动到单词的末尾并添加 ano。

'Ala ma kota' 变成 ['Laaaano amaano otakaano']。

该功能应

  • 检测文本是否被翻译
  • 从文件中读取文本(默认 'input = in.txt')
  • 将翻译保存到文件(默认输出 = 'out.txt')
  • 只翻译单词,省略标点符号

编码:

def translate_to_pig_polish(we = "in.txt", wy = "out.txt"):
   
    result = 'ayayayano'

    with open(we, 'r') as text:
        # Gets the raw content
        content = text.read().replace(',', '').replace('.', '').replace('?', '').replace('-', '')
        
        # Splits into the lines without \n
        lines = [line.rstrip() for line in content.split("\n")]
        
        # Checks if it is already translated
        if all(line[-3::] == 'ano' for line in lines for word in line.split(' ')):
            result = ' '.join(lines)
        
        # Translates if not
        else:
            result = ' '.join(word[1::] + word[0] + 'ano' for line in lines for word in line.split(' '))
    
    with open(wy, 'w') as output:
        output.write(result)
        
    return result

它只处理短文本,或者 in.txt 的第一行,但我必须处理这个引用:假设它在文件 in.txt 中

Podano do stołu. Królowały naleśniki.
Z czym można je jeść?
- z jagodami, bananami z serem i rodzynkami,
na słono z szynką, ze szpinakiem...

我的输出:

Odanopaano odaano tołu.saano Rólowałykaano aleśniki.naano 

那么如何解决呢?另外我认为我犯了一个错误,因为在问题的描述中,似乎不是添加“ano”而是添加了“aano”。请帮忙!

预期输出:

Odanopaano odaano tołusaano Rólowałykaano aleśnikinaano
zaano zymcaano ożnamaano ejaano eśćjaano
zaano agodamijaano, ananamiaano zaano eremaano iaano odzynkamiraano
anaano łonosaano z zynkąsaano ezaano zpinakiemsaano
4

0 回答 0