/ / Превод на език чрез четене на .txt файл и отпечатване на преведено изречение - python, python-3.x

Езиков превод чрез четене на .txt файл и отпечатване на преведено изречение - python, python-3.x

Опитвам се да направя Python програма за превод от английски на аборигенски език, който се чете dictionary.txt файл.

Тази програма трябва да съдържа двойки английски и. \ Tпреведени думи, разделени със запетая (,) и създава речник с тях. След това програмата трябва да чете в реда от текста на потребителя (до празен ред) и да отпечата преведено изречение, където всяка дума е прегледана в речника.

dictionary.txt файлът изглежда по следния начин:

afternoon,wuraji-wuraji
I,ngaju
bird,jirripirdi
like,kuja-piya
dance,juka-pinyi
python,malilyi
laugh,ngarlarrimi
we,ngalipa

Програмата ми трябва да работи по следния начин:

English: I like python
ngaju kuja-piya malilyi
English: we laugh
ngalipa ngarlarrimi
English:

Досега съм в състояние да направя програма, която произвежда превод за отделни думи, но не и комбинираните изречения. Просто се чудя как мога да го направя?

Моят код е като следния:

user_input = []
translate = {}
for line in open("dictionary.txt"):
english, aboriginal = line.split(",")
translate[english] = aboriginal

while user_input != "":
user_input = input("English: ")
if user_input == "":
break
else:
print(translate[user_input])

Отговори:

0 за отговор № 1

Когато пишете translate[user_input], ти просто влизаш в ключа user_input в речника, но ако това е цялото изречение, няма да го намерите, разбира се. Така че трябва да намериш всяка дума за превод, след което да направиш изречението.

user_input = []
translate = {}
for line in open("dictionary.txt"):
english, aboriginal = line.split(",")
translate[english] = aboriginal

while user_input != "":
user_input = input("English: ")
if user_input == "":
break
else:
tempList = []
for word in user_input.split():
tempList.append(translate[word])
print(" ".join(tempList))

0 за отговор № 2

Благодаря ви @JeanRostan за вашата помощ, аз бях в състояние да изведе правилния изход със следния код (въпреки че е много примитивен):

user_input = []
translate = {}
for line in open("dictionary.txt"):
english, aboriginal = line.split(",")
translate[english] = aboriginal

while user_input != "":
user_input = input("English: ")
if user_input == "":
break
else:
tempList = []
for word in user_input.split():
tempList.append(translate[word])
A = ("".join(tempList))
B = (A.replace("n"," "))
B = B.rstrip()
print(B)