我试图将多个学生的 5 个科目分数插入到二维数组中,并检查他们的总分和平均分,所以我设法插入到二维数组中,但循环会不断添加以前学生的分数,我假设这是因为总和 += student[x]。例如,第一个学生的分数没有问题,但第二个学生的分数将增加第一个学生的分数。我应该用什么来避免这种情况?
NUM = int (input ("Enter the number of students in the class:"))
student_list = []
for x in range (0, NUM):
print ("Student", x+1,":")
name = input ("Please enter student's name:")
tp_number = input ("Please enter student's TP number:")
eim_marks = int (input ("Please enter EIM marks:"))
csa_marks = int (input ("Please enter CSA marks:"))
das_marks = int (input ("Please enter DAS marks:"))
pwp_marks = int (input ("Please enter PWP marks:"))
os_marks = int (input ("Please enter OS marks:"))
student_list.append([name,tp_number,eim_marks,csa_marks,das_marks,pwp_marks,os_marks])
sum = 0
for student in student_list:
for x in range (2,len (student)):
sum += student [x]
average_marks = sum/5
print (sum,average_marks)
答案 0 :(得分:0)
在循环内将 sum 设置为零
NUM = int (input ("Enter the number of students in the class:"))
student_list = []
for x in range (0, NUM):
print ("Student", x+1,":")
name = input ("Please enter student's name:")
tp_number = input ("Please enter student's TP number:")
eim_marks = int (input ("Please enter EIM marks:"))
csa_marks = int (input ("Please enter CSA marks:"))
das_marks = int (input ("Please enter DAS marks:"))
pwp_marks = int (input ("Please enter PWP marks:"))
os_marks = int (input ("Please enter OS marks:"))
student_list.append([name,tp_number,eim_marks,csa_marks,das_marks,pwp_marks,os_marks])
for student in student_list:
sum = 0
for x in range (2,len (student)):
sum += student [x]
average_marks = sum/5
print (sum,average_marks)