我目前正在攻读GCSE学生的计算机科学。我和我的老师正在努力完成任务3.任务的要求是: 然后需要询问用户他们想要查看的班级 在此之后,它将需要询问他们是否希望按字母顺序查看文件,特定班级的高分或他们是否想要查看所选班级中每个学生的平均值
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()
我在python中运行的代码告诉我第13行出现“索引超出范围”的问题
我的文字文件包含:
小豆,2,3,
小豆,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,
答案 0 :(得分:4)
Python - 与大多数编程语言一样 - 使用从零开始的索引,这意味着序列的第一个元素位于索引0,最后一个元素位于索引len(sequence) - 1
。
在你的代码中,你有每行有三个元素的行,你试图访问row[3]
,这将是(不存在的)第四个元素的索引,因此你的错误。
如果你的老师正在挣扎,那么#34;有了这样一个基本问题,你应该找一位称职的老师。