In my opinion, the simplest and clearest way to approach this is to follow this simple rule of use: capitalise if you intend to show a word is part of a name and don't capitalise if not.
This rule, though, may have a bearing on whether to use an article. For example, we would
not say:
because, since
room is a general noun, this is ungrammatical without an article. But we would say:
without an article, since
Room 3 is a name.
So when we encounter a phrasing as in the OP, which includes the word 'number':
- She entered the room No.3.
we must decide whether to keep the article, in which case we're saying the name of the room is just '
No.3',
- She entered (the room) No.3.
(which sounds a bit odd to me) or remove the article and make the name of the room '
Room No.3',
which I personally think is more logical and more elegant.