質問: word): #調べたい単語が一致した場合 for means in lib_arr : #リストの内容を印刷する print(means) dic_handle.close() ``` ### 補足情報 辞書ファイルは「ejdic-u8.txt」というものです。(長いので一部だけ抽出しています↓↓↓) ``` milkglass 乳白ガラス,くもりガラス milkiness 乳白色であること 乳状 milkingmachine 搾乳器 milkjelly 牛乳入りフルーツゼリー milkloaf 乳白色の甘いパン milkmaid =dairymaid milkman 牛乳屋,牛乳配達人 milkpowder ドライ(紛)ミルク ``` このように、1単語1行で、英単語→日本語訳という構成になっています。 ### 実現したい流れ(例) 1キーボードから「milkman」を入力 2辞書ファイル「ejdic-u8.txt」を開く 3入力した「milkman」が辞書ファイル「ejdic-u8.txt」にあれば日本語訳を読み込む 4日本語訳を印刷する(この場合、「牛乳屋,牛乳配達人」) 5印刷した結果(「牛乳屋,牛乳配達人」)を別ファイル(「output.txt」という名前のファイル)に保存する おわかりになる方いらっしゃいましたら、何卒よろしくお願いいたします!
回答: 一度に全部やろうとするとわからなくなるので、 一つ一つ作っては確認してきましょう > > 1キーボードから英単語を入力 > > > できています > > 2辞書ファイルを開く > > > 開くこと自体はできていますが、 次のドキュメントのように記述すると、各行を順番に確認していくことができます 7. 入力と出力 — Python 3.8.5 ドキュメント ``` with open('workfile') as f: for line in f: print(line, end='') ``` 注意: 上記の `end=''` は今回は不要です (付けると出力の最後で改行されなくなります) > > 3入力した英単語が辞書ファイル内にあれば日本語訳を読み込む > > > 次の結果を `print()` でどうなっているか確認してみましょう: ``` lib_arr = line.split(“\t”) #各行をtabキーで区切る print(lib_arr) ``` > > 4日本語訳を印刷する > > > 3 ができれば `print()` で出力できるでしょう > > 5印刷した結果を別ファイル(output.txt)に保存する > > > 次を参考にします 7. 入力と出力 — Python 3.8.5 ドキュメント ``` with open('workfile') as f: f.write('This is a test\n') ```