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,
Python - 与大多数编程语言一样 - 使用从零开始的索引,这意味着序列的第一个元素位于索引 0,最后一个元素位于索引 len(sequence) - 1
.
在您的代码中,每行包含三个元素,并且您正在尝试访问 row[3]
,这将是(不存在的)第四个元素的索引,因此您的错误。
此外,如果您的老师 "struggling" 有这样的基本问题,您可能应该找一位称职的老师。
我目前正在作为 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,
Python - 与大多数编程语言一样 - 使用从零开始的索引,这意味着序列的第一个元素位于索引 0,最后一个元素位于索引 len(sequence) - 1
.
在您的代码中,每行包含三个元素,并且您正在尝试访问 row[3]
,这将是(不存在的)第四个元素的索引,因此您的错误。
此外,如果您的老师 "struggling" 有这样的基本问题,您可能应该找一位称职的老师。