2016-11-28 1 views
-2

から私はすでにpythonで、私が何を知らない「S」テキストファイル「file.txtは」

def wordendwithS(): 

    f=open("file.txt",'r') 

    a=f.readlines() 
    c=0 
    for i in a: 

     if i.endswith('s'): 
      c=c+1 

試してみましたで終わる単語の数をカウントする)wordendwithS(という関数を、書きます助けてください

何が間違っていますか?

+0

あなたは 'c'を返していません。 –

+0

そして、@Eliが言ったことに加えて、あなたは単語をチェックしていない、 'i'は単にテキストファイルの各行であるため、行をチェックしています。 –

+0

エラーメッセージはありますか?間違った出力が出ていますか?あなたのコードは動作しませんか? – Psytho

答えて

1

コードにはいくつか問題があります。最初は、あなたの関数が何もしていないことを意味するカウントcを返さないということです。さらに、単語が's'で終わっているのではなく、行が's'で終わるかどうかを確認しています。第三に、あなたはファイルを閉じていません。あなたは、あなたがそれを使用して行われている後にファイルをautoclosesコンテンツマネージャである3つのすべての

def wordendwithS(): 
    c = 0 
    with open('file.txt', 'r') as f: 
     for l in f: 
      for i in l.split(): 
       if i.endswith('s'): 
        c += 1 
    return c 

これらの問題の

withを修正するために、これを行うことができます。

関連する問題