2016-09-28 11 views
0

編集:ユーザーが入力したコードの下に2行を印刷したいが、動作していないようだ。私が試してみましたテキストファイルの行の下に2行を印刷するには?

86947367 
banana 
5 

78364721 
apple 
3 

35619833 
orange 
2 

84716491 
sweets 
8 

46389121 
chicken 
10 

私のテキストファイルは次のようになります

file = ('read_it.txt') 
user = input('Enter code') 

with open(file, 'r') as f: 
    lines = f.readlines() 
    for i, line in enumerate(lines): 

     if line == user: 
      print("{}\n{}".format(lines[i+1], lines[i+2])) 

しかし、私は2つの空白行の出力を取得します。

答えて

0
file = 'filename.txt' 
user = input('Enter code') 

with open(file, 'r') as f: 
    lines = [line.strip() for line in f.readlines()] # Strip \n and \t from text 
    for i, line in enumerate(lines): # enumerate will count and keep track of the lines 
     if line == user: 
      print("{}\n{}".format(lines[i+1], lines[i+2])) 
+0

コードは意味がありますが、空の行が表示されます。 –

+0

@ Jeff1231まず、テキストファイルに実際にテキストが含まれていることを確認してから、次にすべての行を印刷して、単純なものを紛失していないことを確認します。コードの後の1行目と2行目は、実際には空白行になることがあります。また、トラブルシューティングのためにif文に入った後に 'line'を印刷してみることもできます。 あなたの質問を、現在役立っているコードで編集してください。 –

+0

if文の後に行を印刷しようとしましたが、テキストファイル内のすべてを正常に印刷しましたが、その下に2行は何も印刷しませんでした。 –

関連する問題