1

所以我的编码作业遇到了麻烦,我正在尝试制作一个 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()
4

1 回答 1

1

在第 8 行,它说sline[2],索引是#2。显然有时您执行的拆分不会产生第三个索引(请记住,索引从 0 开始,而不是 1)。因此,当拆分没有第三个索引时,但您在不检查它是否存在的情况下要求它,则索引超出范围。这就是您收到该错误的原因。

于 2013-05-28T01:13:47.357 回答