我正在尝试从文本文件中搜索学生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.")
文本文件包含学生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
如果
我要做的就是显示匹配Id的学生记录。我不知道哪里出错了。
答案 0 :(得分:0)
而不是使用line[0]
这是你需要检查第一个单词的第一个字符。这是因为sid
可以是多个字符。
您可以通过在第一个空格处分割字符串,然后使用[0]
选择第一个字段来完成此操作;
if (line.split(" ")[0] == sid):
或者,您可以这样做;
if (sid in line.split(" ")):