所以我在编写作业时遇到了麻烦,我正在尝试制作一个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()
答案 0 :(得分:1)
在第8行,它显示sline[2]
,索引是#2。显然有时你执行的拆分不会产生第三个索引(请记住,索引的开头是0,而不是1)。因此,当拆分没有第三个索引,但是你要求它而不检查它是否存在时,那么索引超出范围。这就是你得到这个错误的原因。