У меня ошибка ввода с моим кодом Python

#typeerror

Вопрос:

У меня есть задание, в котором я должен рассчитать оценки как за тесты, так и за экзамены, а затем рассчитать общее среднее значение между ними. Как вы могли видеть, я явно не закончил с этим.

 quizW = .30
examW = .70

quizSum = 0

numQuiz = int(input("How many quizzes: ")) 
quizGrade = {}

for x in range(numQuiz):
    quizGrade[x] = (input("What is the grade for quiz "   str(x)   ": "))
    quizSum = quizSum   quizGrade
    
print(quizSum)
 

Сначала это работало, пока я не добавил quizSum = quizSum quizGrade в цикл for.

После добавления этого я продолжаю получать эту ошибку:

 line 10, in <module>
    quizGrade[x] = (input("What is the grade for quiz "   str(x)   ": "))
TypeError: 'int' object does not support item assignment
 

Есть ли какой-нибудь способ это исправить? если да, то я был бы очень признателен.

Ответ №1:

Я предполагаю, что проблема здесь в том, что вы пытаетесь добавить список в int. Из-за этого вы получаете свою ошибку. Попробуйте вместо этого добавить элемент списка.

Измените 10-ю строку на

 quizSum = quizSum   quizGrade[x]
 

Но, честно говоря, вам вообще не нужно использовать этот список.

Следующее также будет работать нормально:

 
quizW = .30
examW = .70

quizSum = 0

numQuiz = int(input("How many quizzes: ")) 

for x in range(numQuiz):
    quizGrade = (input("What is the grade for quiz "   str(x)   ": "))
    quizSum = quizSum   quizGrade