2013-06-05 2 views
1

에 표시됩니다. 숙제의 경우 줄 번호 나 번호를 찾아야합니다 (목록에서 주어진 단어)가 나타납니다. 지금까지 내가 이걸 가지고있다사전을 사용하여 줄 번호 찾기 파일의 단어가

def index(f,l): 
    'str,list(str)==nonetype' 
    infile=open(f) 
    file=infile.read() 
    b=file.split('\n') 
    G=file.splitlines() 
    infile.close 
    count=1 
    res=0 
    c={} 
    a=[] 
    for i in b: 
     a+=[i] 
    for n in l: 
     while res <len(G): 
      small={G[res]:count} 
      c.update(small) 
      count+=1 
      res+=1 
      if (a[res] in c) and (n in a[res]): 
       print (n+'{}'.format(c[count])) 

그래서 나는 그곳을 벗어나므로 오류가 발생한다. 나는 오랫동안 그것 모두가 횡설수설 같은 것처럼 보이기 때문에 일하고 있었다.

+0

코드를 들여 씁니다. 작동하지 않는 것은 무엇입니까? – Blender

+0

거의 모든 것을 열어 파일을 열어 목록으로 가져올 수는 있지만 모든 단어가 키이고 값이 단어가있는 줄 번호가되는 사전을 가져와야합니다. – blandman1990

+0

글쎄, 고쳐 줘. – Blender

답변

0

의 숙제 난 그냥 하나의 작은 단계 멀리 파이썬에서 이미 여기

1
def index(filename, wordlist): 

    # Initialize some variable with meaningful names 

    with open(filename) as infile: 
     for line in infile: 
      # Do something with the line 

    return # something 

만들 수있는 몇 가지 더 힌트가 알고리즘

foreach line in the_file: 
    if search_word in line: 
     print line_number 

이가 당신을 도울 것입니다 이후 코드는 깔끔하지만 지금은 너무 고급 일 수 있습니다. enumerate, defaultdict(list)

+0

열거는 OP에도 도움이 될 수 있습니다 (+1) –

관련 문제