まず簡単な日本語の単語をつくります。
google翻訳で訳します。
行がそろうようにテキストファイル2つにします
2つのファイルを読み出して
日本語辞書、英語辞書2つ作ります。
簡単な日本語の文をいくつかつくって
日本語から英語、その英語から日本語
2つの翻訳をしてみました。
japan.txt
あれ
これ
みる
きく
とる
もつ
は
ですか
です
ではない
りんご
みかん
バナナ
梨
桃
ぶどう
なぜ
なに
いつ
どこで
だれが
どうやって
猫
犬
人
鳥
魚
木
花
草
川
山
田
海
池
町
赤
青
緑
黄
白
黒
大きい
小さい
高い
低い
english.txt
that
this
View
listen
To take
To have
Is
Is it
is
is not
Apple
Mandarin orange
banana
pear
peach
Grape
why
what
When
where
who
how
Cat
dog
Man
bird
fish
wood
flower
grass
river
Mountain
Rice field
Ocean
pond
town
Red
Blue
Green
yellow
White
black
large
small
high
Low
honyaku.py
少し解説します。
最初のラムダ式、改行コードを削除します。
chr(10)はunix,chr(13)はmac,Windowsは両方
japan.txtとenglish.txtをリストに入れます。
ループさせずボコッとまるごと入れられます。
辞書型データ 日→英、英→日を作成。
英語は小文字に変換してます。
翻訳用のサンプルを登録。
半角スペースで区切ってます。
単語に区切ってマッチしたら変換
マッチしなければそのまま表示しています。
英文は先頭は大文字、残りは小文字にして、
最後ピリオドを入れてます。
辞書は
dic={}で定義
dic[key]=valueで登録
dic[key]で取得
dic.get(w, w)は辞書dicからkey wの値を
取ります。ないときはwを返してます。
google翻訳で訳します。
行がそろうようにテキストファイル2つにします
2つのファイルを読み出して
日本語辞書、英語辞書2つ作ります。
簡単な日本語の文をいくつかつくって
日本語から英語、その英語から日本語
2つの翻訳をしてみました。
japan.txt
あれ
これ
みる
きく
とる
もつ
は
ですか
です
ではない
りんご
みかん
バナナ
梨
桃
ぶどう
なぜ
なに
いつ
どこで
だれが
どうやって
猫
犬
人
鳥
魚
木
花
草
川
山
田
海
池
町
赤
青
緑
黄
白
黒
大きい
小さい
高い
低い
english.txt
that
this
View
listen
To take
To have
Is
Is it
is
is not
Apple
Mandarin orange
banana
pear
peach
Grape
why
what
When
where
who
how
Cat
dog
Man
bird
fish
wood
flower
grass
river
Mountain
Rice field
Ocean
pond
town
Red
Blue
Green
yellow
White
black
large
small
high
Low
honyaku.py
cutRet = lambda s: s.replace(chr(10),"").replace(chr(13),"") f = open('japan.txt') js = f.readlines() f.close() f = open('english.txt') es = f.readlines() f.close() dic={} edic={} for i in range(len(js)): j=cutRet(js[i]) if len(j)>0: dic[j]=cutRet(es[i]) edic[cutRet(es[i]).lower()]=j test=["これ は 犬","あれ は 山","なぜ りんご 赤","魚 猫 ではない","花 は 赤 白 黄","海 は 大きい","なぜ 海 大きい です","人 は 海 みる","猫 とる 魚"] etext=[] for s in test: print(s) for s in test: o="" ws=s.split() for w in ws: o+=dic.get(w, w)+" " o=o.lower() etext.append(o[0].upper()+o[1:-1]+".") print(o[0].upper()+o[1:-1]+".") for s in etext: o="" ws=((s.lower()).replace(".","")).split() for w in ws: o+=edic.get(w, w)+" " print(o[:-1])
少し解説します。
最初のラムダ式、改行コードを削除します。
chr(10)はunix,chr(13)はmac,Windowsは両方
japan.txtとenglish.txtをリストに入れます。
ループさせずボコッとまるごと入れられます。
辞書型データ 日→英、英→日を作成。
英語は小文字に変換してます。
翻訳用のサンプルを登録。
半角スペースで区切ってます。
単語に区切ってマッチしたら変換
マッチしなければそのまま表示しています。
英文は先頭は大文字、残りは小文字にして、
最後ピリオドを入れてます。
辞書は
dic={}で定義
dic[key]=valueで登録
dic[key]で取得
dic.get(w, w)は辞書dicからkey wの値を
取ります。ないときはwを返してます。