I made a program that would some up a grade average. Everything seems fine, the only problem, when I run the program at the end it prints out like this:
Jack
5
10
6
7.0
Stacy
10
8
9
9.0
Jack
5
10
6
7.0
Stacy
10
8
9
9.0
Jack
5
10
6
7.0
Stacy
10
8
9
9.0
How can I make the program print out, for example:
Name Grade1 Grade2 Grade3 (etc) Average
Name2 Grade1 Grade2 Grade3 (etc) Average2
etc
separately for every student's name used?
grades = []       
names = []         
ch = 1               
while (ch!=0):                         
    name = input('Enter a name: ')         
    if (name.isalpha()):           
        grade = int(input('Enter a grade: '))
        if(grade <= 10 and grade > 0):     
            names.append(name)         
            grades.append(grade)       
        else:
            while (grade <= 0) or (grade > 10):
                print ('The grade you entered is not correct, try again!')
                grade = int (input('Enter a grade: '))
            names.append(name)
            grades.append(grade)
    elif(name == '0'):
        print ('A zero was entered, end of program.')
        ch = 0   
    else:
        print ('The name was entered wrong, try again!')
#problem probably starts from here
howmuch = len(grades)                   
result = []                               
for k in range(0, howmuch):
    nreal = names[k]                             
    for i in range(0, howmuch):           
        if (nreal == names[i]):         
            result.append(grades[i])
    greal = len(result)
    sumup = 0
    print (nreal)
    howmuch = len(names)
    for z in range(0,greal):
        a = result[z]
        b= int(a)
        print (b)
        sumup = sumup + b
    avg = sumup /(z+1)
    print (avg)
    result = []
 
     
     
     
    