0

単語リスト A: 本 イエス キリスト 息子 ダビデ 息子 アブラハム ヤコブ ユダ 彼の兄弟 ペレス アミナダブ

単語リスト B: akwụkwọ jizọs kraịst nwa devid nwa ebreham jekọb juda ya ụmụnne pirez aminadab

file.txt A:

  1. アブラハム の 息子 で ある ダビデ の 息子 イエス キリスト の 歴史 の 本 :
  2. アブラハムはイサクの父になりました。アイザックはジェイコブの父になりました。ジェイコブはユダとその兄弟たちの父となった。

file.txt B:

  1. akwụkwọ nke kọrọ akụkọ banyere jizọs kraịst , nwa devid , nwa ebreham :
  2. ebreham mụrụ aịzik ; aịzik amụọ jekọb ; jekọb amụọ juda na ụmụnne ya ndị ikom ;

2つの差分の2つの単語リスト(AとBなど)があります。言語。どちらも順番に互いの単語の翻訳が含まれています。私の仕事は、単語リストAからfile.txt Aまで、またはその逆のように、両方の言語の2つの別々のfiles.txtを介してこれらの単語リストを実行し、両方のtxtファイルの行を返すことです。それぞれに両方の単語のインデックス番号が含まれます-次のようにペアになったtxtの各行で見つかった場所をリストします。

  1. 2:1 7:6 8:7 10:9 12:10 14:12 16:13 [ 2:1 = txt.file A の書籍の 2 インデックスと txt.file B の 1-akwụkwọ など]
  2. 1:1 11:6 13:8 17:10 19:12 20:13 [ 1:1 = txt.file A の abraham の 1 インデックスと txt.file B の 1- ebreham など]。以下のコードを参照してください。
import sys

def wordlist(filename):
    wordlist = []
    with open(filename, 'rb') as f:
        for line in f:
            wordlist.append(line)
    return wordlist

eng = []
for lines in open('eng_try.txt', 'rb'):
    line = lines.strip()
    eng.append(line)
igb = []
for lines in open('igb_try.txt', 'rb'):
    line = lines.strip()
    igb.append(line)

i = 0
while i < len(eng):
    eng_igb_verse_pair = eng[i] + " " + igb[i]
    line = eng_igb_verse_pair.strip().split()
    for n in range(0, len(wordlist('eng_wordlist.txt'))):
        eng_word =  wordlist('eng_wordlist.txt').pop(n)
        igb_word =  wordlist('igb_wordlist.txt').pop(n)
        if eng_word in line and igb_word in line:
            print '{0} {1}:{2}'.format(i, line.index[eng_word], line.index[igb_word])
    i += 1

これは実際には空に出力されます。問題がプログラムの最後のセグメントにあることはわかっています。誰か助けてくれませんか。私はそれほど経験豊富な Python プログラマーではありません。説明がうまくできていなかったらすみません。

4

1 に答える 1

0

次のような意味です。

import sys

def checkLine(line_eng, line_igb):
  eng_words = line_eng.split()
  igb_words = line_igb.split()
  for word in eng_words:
    if word in eng:
      igb_word = igb[eng.index(word)]
      print "%d:%d" % ( eng_words.index(word)+1, igb_words.index(igb_word)+1),

def linelist(filename):
    lineslist = []
    for line in open(filename, 'rb'):
      lineslist.append(line)
    return lineslist

eng = []
for lines in open('eng_try.txt', 'rb'):
    line = lines.strip()
    for w in line.split():
      eng.append(w)
igb = []
for lines in open('igb_try.txt', 'rb'):
    line = lines.strip()
    for w in line.split():
      igb.append(w)

eng_lines = linelist("eng_wordlist.txt")
igb_lines = linelist("igb_wordlist.txt")

for n in range(0, len(eng_lines)):
  print "%d. " % (n+1),
  checkLine(eng_lines[n],igb_lines[n])
  print

あなたのファイルについて、私は結果を得ました:

1. 2:1 7:6 8:7 10:9 12:10 10:9 16:13
2. 1:1 11:7 11:7 17:11 19:14 20:13

BR パラシット・ヘンダーソン

于 2013-10-12T23:10:40.650 に答える