#python
#python
Вопрос:
Кажется, все остальное работает нормально. Требования заключались в том, что я использовал цикл for для получения входных данных для оценок учащихся, отображения имени для каждого учащегося, вычисления и отображения среднего значения этих 5 оценок и отображения наивысшей оценки. Я действительно не уверен, где я ошибаюсь. Пожалуйста, помогите! Вот программа ниже:
#this program will compute average quiz grade for a group of 5 students
#prompt user for quiz grade using a for loop for each of the 5 students
#assign names to student list
students = ["John", "Jake", "Jane", "Sally", "Susie"]
#grades: 90-100=A, 80-90=B, 70-80=C, 60-70=D, <60=F
#prompt user for student grades
for student in students:
grades = eval(input(f"Enter the grade for {student}: "))
grades = []
sum = 0
for i in range(0,5):
for i in grades:
sum =i
avg_grade=sum/5
#print average grade of students
if(avg_grade >=90):
print("Average Grade: A")
elif(avg_grade>=80 and avg_grade<90):
print("Average Grade: B")
elif(avg_grade>=70 and avg_grade<80):
print("Average Grade: C")
elif(avg_grade>=60 and avg_grade<70):
print("Average Grade: D")
else:
print("Average Grade: F")
#print highest grade
max_grade=max(grades)
for i in grades:
if(max_grade>=90):
print("Highest Grade: A")
elif(max_grade>=80 amp; max_grade<90):
print("Highest Grade: B")
elif(max_grade>=70 amp; max_grade<80):
print("Highest Grade: C")
elif(max_grade>=60 amp; max_grade<70):
print("Highest Grade: D")
else:
print("Highest Grade: F")
Комментарии:
1. Пожалуйста, прочитайте ericlippert.com/2014/03/05/how-to-debug-small-programs и попытайтесь проследить через вашу логику. То, что вы делаете в первой части программы, вообще не имеет смысла.
Ответ №1:
Это означает, что список grades
пуст, поскольку вы не добавили никаких значений в список. Вы можете исправить это, выполнив:
grades = []
for student in students:
grade = eval(input(f"Enter the grade for {student}: "))
grades.append(grade)
Обратите внимание, что это изменение находится в верхней части кода.
Ответ №2:
Попробуйте это, потому что ваши оценки пусты:
grades = []
for student in students:
grade = eval(input(f"Enter the grade for {student}: "))
grades.append(grade)