So this is a general problem when you have to share a piece of data between a lot of objects. In your case you’ve got two things that are probably making this harder:
You have inventory =  right after player class, but then you use self.inventory to get at it. That works but it’s unclear if you understand what self.inventory is. You see, you should either put self.inventory =  in the ```init`` method, OR, refer to this inventory variable as Player.inventory. The reason is the way you have it, the inventory is a class variable that is a single variable on all instances of class Player. If you made 1000 players, they’d have 1 inventory.
You might be trying to put too much in your player class. You should basically think about what each room can do to a player. You can hit them, add things to their inventory, remove them, etc. Don’t try to put Room things into Player.
Personally I would ditch the inventory. That’s a much more complicated concept and seems to really mess people up on this exercise. Try just, hitpoints and their name.