大家,早安。
所以我们在这里完成任务。
编写一个函数,将一些文本翻译成猪波兰语,反之亦然。
波兰语翻译成猪波兰语的方法是取每个单词的第一个字母,将其移动到单词的末尾并添加 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