python:下面的代码为什么报了那样的错?

img

img

这是列表下标索引超出范围
你列表中只有一个元素list[0],没有第二个元素list[1]

应该是line字符串中没有\t,只分割出来一个元素,没有第二个元素。

出现这个下标越界错误,是由于line数据在分割过后没有第二项。检查一下里line数据及在分割时用的分隔符是否正确。问题在于main函数中调用astudent函数时传入参数错误,代码中for line in file,这里的file是一个整字符串,而不是行数据。将这句改成; for line in [x for x in file.readlines() if x!=' '],同时要求每行数据要以制表符分隔。