#python
#python
Вопрос:
Четвертое задание включает в себя написание программы на Python для вычисления средней оценки теста для группы из пяти студентов. Ваша программа должна включать список из пяти имен. Используя цикл for, он должен последовательно запрашивать у пользователя оценку теста для каждого из пяти учащихся. Каждое приглашение должно содержать имя учащегося, чья оценка теста должна быть введена. Он должен вычислять и отображать среднее значение этих пяти оценок и наивысшую оценку. Вы должны определиться с именами пяти студентов.
Итак, это мое задание, и ниже приведено то, что у меня есть до сих пор.
# This program will compute the average quiz grade for 5 students
print ("Hello, this program is designed to compute the average quiz grades for the following students: Clark, Nicole, Kiran, Alex, and Erik")
students = ["Clark", "Nicole", "Kiran", "Alex", "Erik"]
for student in students:
print (student, ", What was your quiz grade?")
grades = eval(input("My grade is: "))
Программа спрашивает каждого учащегося, какова его оценка. Но мне нужно взять числа и как-то их добавить, чтобы потом я мог разделить их на среднее значение. Может кто-нибудь посоветовать мне правильный путь к исправлению этого?
Ответ №1:
Да. Прежде всего, я исправил и отформатировал ваш код для вас.
# This program will compute the average quiz grade for 5 students
print("Hello, this program is designed to compute the average quiz grades for the following students: Clark, Nicole, Kiran, Alex, and Erik")
students = ["Clark", "Nicole", "Kiran", "Alex", "Erik"]
for student in students:
print(student, ", What was your quiz grade?")
grades = input("My grade is: ")
Пока что вы можете задать каждому из учеников оценку. Как только они скажут вам, вы должны сохранить это в памяти. Простым способом сделать это было бы использовать список (я предполагаю, что вы еще не изучили словари).
Вы можете создать новый список, прежде чем запрашивать оценки, а затем добавлять в конец списка с каждой новой оценкой, вводимой пользователем.
# This program will compute the average quiz grade for 5 students
print("Hello, this program is designed to compute the average quiz grades for the following students: Clark, Nicole, Kiran, Alex, and Erik")
students = ["Clark", "Nicole", "Kiran", "Alex", "Erik"]
grades = [] # create an empty list to store the grades in
for student in students:
print(student, ", What was your quiz grade?")
grade = input("My grade is: ")
grades.append(int(grade)) # convert the grade to an integer number, then add it to the list
print("Here are the grades you entered: ", grades)
Теперь нам нужно будет вычислить среднее значение списка. Вспоминая элементарную математику, среднее значение набора чисел — это сумма чисел, деленная на количество имеющихся чисел.
В Python вы можете использовать встроенную функцию sum()
для вычисления суммы чисел. Вы можете использовать встроенную функцию len()
, чтобы получить количество элементов в списке.
Теперь вам просто нужно разделить сумму на длину.
average = sum(grades) / len(grades)
print("The average is:", average)
Теперь, чтобы получить наивысшую оценку, вы можете использовать встроенную функцию max()
. Это позволит найти и вернуть наибольшее число в массиве.
Вы можете использовать его следующим образом.
highest = max(grades)
print("The highest grade is:", highest)
В случае, если вы хотите комбинированный код:
# This program will compute the average quiz grade for 5 students
print("Hello, this program is designed to compute the average quiz grades for the following students: Clark, Nicole, Kiran, Alex, and Erik")
students = ["Clark", "Nicole", "Kiran", "Alex", "Erik"]
grades = [] # create an empty list to store the grades in
for student in students:
print(student, ", What was your quiz grade?")
grade = input("My grade is: ")
grades.append(int(grade)) # convert the grade to an integer number, then add it to the list
print("Here are the grades you entered: ", grades)
average = sum(grades) / len(grades)
print("The average is:", average)
highest = max(grades)
print("The highest grade is:", highest)