2017-04-27 11 views
0

テキストファイルから学生IDを検索し、IDが見つかるとその行を表示しようとしています。テキストファイルからIDを検索する

sid = input ('\nPlease enter the student ID you want to search: ') 
     found = False 
     for line in student_file: 
      line = line.rstrip() 
      if sid == line[0]: 
       found = True 
       print (line) 
       print('\n') 
     if found == False: 
      print ("No student record under this ID.") 

テキストファイルには学生証が含まれ、名前とここ異なる被験者のマーク

1235  abc  0.0  0.0  0.0  0.0  0.0    

1111  def  19.0  20.0  30.0 20.3 12.3 

1  ghi  100.0 100.0 100.0 100.0 100.0 

5  jkl  100.0 100.0 100.0 100.0 100.0   

その後、

  • 入力SID = 1とします。ここでは

    はコードがありますIDが1235,1111,1

  • の学生の詳細を示します。
  • i NPUT入力が5である
  • 、それは「このIDの下に何も学生の記録」と表示されていない、1235年で、それは私がやろうとしていますすべては学生のレコードを表示ある= 5

IDのための学生の詳細を示しています一致したIDの場合どこが間違っているのか分かりません。

+0

'line [0]'は行の最初の**文字**で、最初の*単語ではありません。... 'line.split()'を見てください。 – jonrsharpe

答えて

0

最初の文字であるline[0]の代わりに、最初の単語を確認する必要があります。 sidは複数の文字にすることができるためです。

最初のスペースで文字列を分割し、[0]を使用して最初のセグメントを選択すると、これを行うことができます。

if (line.split(" ")[0] == sid): 

オプションで行うことができます。

if (sid in line.split(" ")): 
+0

私はそれを得た。どうもありがとうございます – Naksha

関連する問題