2017-04-27 6 views
0

Ich versuche, eine Student ID aus einer Textdatei suchen und zeigen Sie die Zeile, wenn eine ID gefunden wird. HierSuche ID aus einer Textdatei

ist der Code:

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.") 

Die Textdatei enthält die Schüler-ID, Namen und Marken verschiedenen Fächer

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   

Hier wenn

  • Eingang sid = 1, dann es zeigt die Details der Studenten mit IDs 1235,11111,1
  • i nput ist 1235, dann ist es „kein Student Datensatz unter dieser Kennung“
  • Eingang 5, dann zeigt es die Schüler Informationen zu ID = Legen 5

Alles, was ich bin versucht, ist es, den Schülersatz anzeigen für übereinstimmende ID. Ich weiß nicht, wo ich falsch liege.

+0

'line [0]' ist das erste ** Zeichen ** in der Zeile, nicht das erste * Wort * ... Versuchen Sie, 'line.split()' zu betrachten. – jonrsharpe

Antwort

0

Anstatt line[0] zu verwenden, welches das erste Zeichen ist, müssen Sie das erste Wort der Zeile überprüfen. Dies liegt daran, sid kann mehrere Zeichen sein.

Sie können dies tun, indem Sie die Zeichenfolge an der ersten Stelle aufteilen und dann das erste Segment mit [0];

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

Optional könnten Sie tun;

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

Ich habe es. Ich danke dir sehr – Naksha