如何重新启动for循环

时间:2021-04-20 03:31:52

标签: python

我试图将多个学生的 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)

1 个答案:

答案 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)