A453 任务 3 编程

A453 Task 3 Programming

我目前正在作为 GCSE 学生学习计算机科学。我和我的老师正在努力完成任务 3。任务的要求是: 然后它需要询问用户 class 他们想查看什么
在此之后,它将需要询问他们是否想查看按字母顺序排序的文件、特定 class 的高分,或者他们是否想查看所选 class [中每个学生的平均分]

import csv  
print("1 for Class A\n2 for Class B\n3 for Class C")  
choosen=int(input())  
class_a = open('class_a.csv')  
class_b = open('class_b.txt')  
class_c = open('class_c.txt')  
if choosen == 1:  
 print("1 for for alphabetical orderwith each students highest score\n2 for highest score, highest to lowest\n3 for average score, highest to lowest")  
    cho_two=int(input())  
    csv_a = csv.reader(class_a)  
    a_list = []  
    for row in csv_a:  
        row[1] = int(row[1])  
        row[2] = int(row[2])  
        row[3] = int(row[4])  
        minimum = min(row[1:2])  
        row.append(minimum)  
        maximum = max(row[1:2])  
        row.append(maximum)  
        average = sum(row[1:2])//3  
        row.append(average)  
        a_list.append(row[0:9])  
    if cho_two == 1:  
        alphabetical = [[x[0],x[6]] for x in a_list]  
        print("\nCLASS A\nEach students highest by alphabetical order \n")  
        for alpha_order in sorted(alphabetical):  
            print(alpha_order)  
            class_a.close()  
    elif cho_two == 2:  
        print("\nCLASS A\nThe highest score to the lowest \n")  
        for high_scr in sorted(highest_score,reverse = True):  
            print(high_scr)  
            class_a.close()             
    elif cho_two == 3:  
        average_score = [[x[8],x[0]] for x in a_list]  
        print("\nCLASS A\nThe average score from highest to lowest \n")  
        for ave_scr in sorted(average_score,reverse = True):  
            print(ave_scr)  
            class_a.close()  

我的代码 运行 in python 告诉我第 13 行 "index out of range"

有问题

我的文本文件包含:
Roo,2,3,
Roo,4,4,
阿尔菲,5,8,
阿尔菲,2,8,
鲍勃,2,8,
康纳,3,5,
康纳,5,3,
埃利斯,5,6,
乔治,5,4,
埃利斯,4,9,
内森,5,6,
乔治,5,5,
阿尔菲,9,4,
乔治,4,7,
赛丽丝,4,5,
狮子座,3,2,
赛丽丝,6,1,
狮子座,5,2,

当我运行程序代码时,行1 = into(row1) 告诉我它超出了范围?有什么解决办法吗?

Python - 与大多数编程语言一样 - 使用从零开始的索引,这意味着序列的第一个元素位于索引 0,最后一个元素位于索引 len(sequence) - 1.

在您的代码中,每行包含三个元素,并且您正在尝试访问 row[3],这将是(不存在的)第四个元素的索引,因此您的错误。

此外,如果您的老师 "struggling" 有这样的基本问题,您可能应该找一位称职的老师。