Как сложить введенные баллы, чтобы можно было разделить общую сумму на «количество», чтобы получить среднее значение?

#python

Вопрос:

Цель состоит в том, чтобы собрать оценки от 5 разных учащихся, назвав их по имени, а затем получить средний балл при использовании первого цикла, а затем собрать оценки учащихся с помощью другого цикла.

 print('Lets get a class average of yesterdays quiz.')
students=['Mary','Edith','Sybil','Matthew','Tom']
for student in students:
    print(student,'What was your score?')
    sum=''
    sum=int(input('My score was a '))

print('Great.')

# The count of all the students
count=0
for itervar in ['Mary','Edith','Sybil','Matthew','Tom']:
    count=count 1
print('Number of scores:',count)
 

Ответ №1:

Вы можете инициализировать переменную total в 0 и добавить входные данные в том виде, в каком они предоставлены в цикле.
Я не уверен, почему вы использовали другой цикл for для подсчета, len(students) должны выполнять ту же работу. Я использовал этот метод, чтобы получить подсчет в этом случае, после чего было рассчитано среднее значение.

 print('Lets get a class average of yesterdays quiz.')
students=['Mary','Edith','Sybil','Matthew','Tom']
total = 0
maxscore = float('-inf')

for student in students:
    print(student,'What was your score?')
    score = int(input('My score was a '))
    if score > maxscore:
        maxscore = score
    total  =score


print('Great.')

#the count of all the students
count = len(students)
print('Number of scores:', count)
print('Average:', total/count)
print('Max Score :', maxscore)
 

Вы также можете сделать total =int(input('My score was a ')) это вместо использования sum переменной, если вы просто хотите рассчитать сумму.

Комментарии:

1. в этом случае нет необходимости в переменной «сумма». Вы могли бы просто сделать total = int(ввод(«Мой результат был a»)). Кроме этого, отличный ответ

2. Это сработало великолепно! Спасибо. Мне также нужно найти наибольшую оценку (значение)из входных данных по каждому баллу. Я должен найти самый большой, используя петлю. Есть ли какой-то способ добавить это в существующую программу?

3. @Caldazar Я подумал, что было бы легче понять, если бы я мог отделить входные данные от суммирования. Однако упомяну об этом в комментариях. Спасибо!

4. @Kayla также включила условие if для проверки максимального балла. Переменная была сначала инициализирована минимальным значением, и если заданный входной балл был больше максимального балла, мы обновляем максимальный балл до этого значения.

5. Еще раз спасибо вам! Все получилось! Теперь я могу дать отдых своему мозгу. 🙂