Неподдерживаемый тип операнда в методе - PullRequest
0 голосов
/ 24 января 2019

У меня есть метод в классе Python, который стремится получить среднее число:

def get_average_rating(self):
    rated_books = 0
    book_sum = 0
    for book in self.books:
        rated_books += 1
        book_sum += self.books[book]
    return book_sum/rated_books  

Но я получаю сообщение об ошибке:

TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

Я пытался зафиксировать это уже несколько дней, и, несмотря на то, что значение прошло, я получил это предупреждение и хотел бы доставить его в чистоте. Я видел много связанных вопросов, [как это] [1], но все еще не мог понять. Кто-нибудь может пролить немного света здесь?

Заранее спасибо

1 Ответ

0 голосов
/ 24 января 2019

Эта ошибка появляется при попытке добавить None к значению int.В вашем случае это происходит по линии

book_sum += self.books[book]

Мы знаем, что book находится в self.books (потому что мы находимся в цикле for), но self.books[book] должно быть None.

...