2016-08-25 4 views
1

мне нужно задать последний класс 10 студентов (в то время как) Приращение их значения:Найти средний балл 10 студентов и студентов инкремента

Так что-то вроде:

Пожалуйста, введите итоговую оценку для студентов 1

Пожалуйста, введите итоговую оценку для студентов 2

и так далее ... ти ll 10

Затем мне нужно получить оценки, в которые они вошли, и найти среднее значение.

Это то, что я до сих пор:

def main(): 

    x = [] 

    for i in range(10): 
     final_grades = x.append(int(input('Please enter final grade for student: '))) 


     ##average_final_grade = final_grades/10 

     ##print(average_final_grade) 


main() 
+0

Append ничего не возвращает ... –

+0

Как сделать это через 10 раз без добавления и возврата чего-нибудь? – JDog

+0

Это домашнее задание? –

ответ

1
# list of grades 
x = [] 
# count of students 
n = 10 
# fill list with grades from console input 
# using pythonic generator 
x = [int(input('Please enter final grade for student {}: '.format(i+1))) for i in range(n)] 
# count average, 
# sum is builtin way to sum values in list 
# float required for python 2.x to make avg float, not int 
average_final_grade = sum(x)/float(n) 
print('Avg grade is {}'.format(average_final_grade)) 

Online demo.

+0

Большое вам спасибо! – JDog

1

Во-первых, вам нужно получить значения, как вы уже сделали:

x = [] 
for i in range(10): 
    x.append(int(input('Please enter final grade for student: '))) 

Теперь вам нужно просуммировать значения из x:

total_sum = sum(x) 

Тогда вы получите среднее:

average_final_grade = total_sum/len(sum) 
+0

работает, но решение в нижней части также увеличивает студентов, которые мне нужны. – JDog

0
total=sum(x) 
    average=total/10 
print(average) 

придерживаться этого в нижней части, и он должен работать

Смежные вопросы