#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