列表索引超出范围?蟒蛇

时间:2013-05-03 02:29:20

标签: python-3.x

所以我在编写作业时遇到了麻烦,我正在尝试制作一个GPA计算器而且我认为它在大多数情况下是完整的,但它不会起作用,因为它一直告诉我那里有列表索引超出第8行的范围。

def main():
    file_name = input("Enter filename:  ")
    file = open(file_name, "r")
    total = [0, 0]
    count = [0, 0]
    for line in file:
        sline = line[:-1].split(" ")
        grade = sline[1]  # Here
        units = sline[2]
        grade_points = (ord("E") - ord(grade))
        print(grade, units, grade_points)
    total = units * grade_points
    gpa = total / units
    print(total)

main()

1 个答案:

答案 0 :(得分:1)

在第8行,它显示sline[2],索引是#2。显然有时你执行的拆分不会产生第三个索引(请记住,索引的开头是0,而不是1)。因此,当拆分没有第三个索引,但是你要求它而不检查它是否存在时,那么索引超出范围。这就是你得到这个错误的原因。