方法上不支持的操作数类型

Unsupported operand type on method

我在 Python class 上有一个方法,旨在获得平均数:

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'

我已经尝试解决这个问题好几天了,虽然价值通过了,但我收到了这个警报,并且想把它交付干净。我看到很多相关问题,[like this][1],但仍然无法理解。有人可以在这里亮灯吗?

提前致谢

当您尝试将 None 添加到 int 值时会出现该错误。在您的情况下,它发生在

线上
book_sum += self.books[book]

我们知道 bookself.books 中(因为我们在 for 循环中),但是 self.books[book] 必须是 None