[英]Simple language translator
因此,我和我的朋友們正在制作幾種語言來娛樂,我認為這將是練習python並開發翻譯器的好機會。 語言非常簡單,所以在這一點上我在想,我可以制作單獨的詞典來容納所有不同的詞性,然后將它們綁在一起成為一個字符串。 最初,我從代詞字典和動詞字典開始,只是為了降低翻譯部分。 這是我現在所擁有的,盡管沒有用
pro = {"I":"ii"}
verb = {"am":"esti"}
noun = {"theatre":"trieto"}
adj = {"red":"reada"}
sentence = input("translate: \n")
for word in sentence.split(" "):
print(pro.get(word, word)+ verb.get(word, word))
我想制作一個主要將單詞插入字符串中特定詞性的翻譯器。
如果有一種完全不同的方式來做,那會讓我更容易。 同樣,我也很難為此學習nltk,因此,如果您知道如何為此使用nltk,那么我將不勝感激地學習如何做。
如果您希望將每個單詞都視為語音的任何部分,則無需為每個語音部分使用單獨的詞典,只需一個大詞典。
因此,讓我們合並它們:
translate = {}
for d in pro, verb, noun, adj:
translate.update(d)
……現在,您要做的只是微不足道的:
for word in sentence.split(" "):
print(translate.get(word, word))
另一方面,如果您有某種邏輯,例如根據位置來選擇詞性,則需要編寫該邏輯。
例如,第一個單詞可能始終是代詞,然后是動詞,然后是0或多個形容詞,然后是名詞。 (對於英語來說,這是一個很愚蠢的語法,但這只是入門示例。)
p, v, *aa, n = sentence.split()
print(pro.get(p, p))
print(verb.get(v, v))
for a in aa:
print(adj.get(a, a))
print(noun.get(n, n))
首先,您只需檢查單詞是否出現在每個詞典中,然后打印翻譯(如果有)。
pro = {"I":"ii"}
verb = {"am":"esti"}
noun = {"theatre":"trieto"}
adj = {"red":"reada"}
sentence = input("translate: \n")
for word in sentence.split(" "):
if word in pro:
print(pro[word] + " ")
elif word in verb:
print(verb[word] + " ")
elif word in noun:
print(noun[word] + " ")
elif word in adj:
print(adj[word] + " ")
else:
print(word + " ")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.