Найти - Пользователи
Полная версия: Создал Переводчик(проблема)
Начало » Python для новичков » Создал Переводчик(проблема)
1
IvanGazul
Ку парни создал переводчик с Румынского на Молдавский так как Молдавский это не офф. язык его нету в переводчиках я решил создать такой переводчик но они очень схожи,например в Румынском ‘b’ это на Молдавском ‘б’ типо транслита,НО в Румынском есть символы которые означают 2 разные буквы например ‘c’ он читается как ‘к’ или ‘ч’ и с этой проблемой я столкнулся и написал решение которое пришло в голову: for numletter in enumerate(len(text)) которая проверяет что за символ сидит за ней и перед ней и ставит нужный символ,но выскакивает ошибка ‘int’ object is not iterable кто может подкорректируйте код или скажите почему не работает или как сделать лучше,буду очень благодарен!

Пример для теста :cât şi după vârstă. Aici lucrurile stau puţin mai complicat. În primul rând – poemele pentru cei mici sunt foarte bune şi pentru copii mai mari, ba chiar şi pentru adulţi. Invers, în schimb, nu e valabil.

moldova ={
'a': 'а','j': 'ж',
'b': 'б','z': 'з',
'c': 'ч','i': 'и',
'd': 'д',
'e': 'е','l': 'л',
'v': 'в','m': 'м',
'g': 'г','n': 'н',
'd': 'д','o': 'о',
'p': 'п','r': 'р',
's': 'с','t': 'т',
'u': 'у','f': 'ф',
'h': 'х','ţ': 'ц',
'ş': 'ш','â': 'ы',
'ă': 'э','î': 'ы',
'yu': 'ю','ea': 'я',
'x':'кс',

'A': 'А','J': 'Ж',
'B': 'Б','Z': 'З',
'C': 'Ч','I': 'И',
'D': 'Д',
'E': 'Е','L': 'Л',
'V': 'В','M': 'М',
'G': 'Г','N': 'Н',
'D': 'Д','O': 'О',
'P': 'П','R': 'Р',
'S': 'С','T': 'Т',
'U': 'У','F': 'Ф',
'H': 'Х','Ț': 'Ц',
'Ș': 'Ш','Â': 'Ы',
'Ă': 'Э','Î': 'Ы',
'Yu': 'Ю','Ea': 'Я',
'X':'Кс',

' ': ' ','-': '-',
'': '','.': '.',
'–': '–',',': ','
}

outstr = ''
space = ' '

def translate(text):
translation = ""
for letter in text:
for numletter in enumerate(len(text)):
if text[numletter+1]=='c' and text[numletter]=='ă':
if letter.lower():
translation = translation + 'к'
if letter.isupper():
translation = translation + 'К'
translation = translation + moldova[letter]
else:
translation = translation + letter
return translation

print(translate(input("Введите текст: ")))
py.user.next
IvanGazul
но выскакивает ошибка ‘int’ object is not iterable
  
>>> list(enumerate(len('abcd')))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> 
>>> list(enumerate('abcd'))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
>>>

При работе с индексами в массиве нужно также следить за правой и левой границей в массиве, чтобы индексы никогда (ни на каком шаге цикла) не выходили за левую границу или за правую границу массива. А у тебя выходит за правую в строке numletter+1 .
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB