I also think your professor may have exaggerated the rule a little bit. Allowing "no numbers" in the source is just silly.
Obviously, there are many different places where a constant in numeric form is more useful to the reader than a named constant. This should be the goal for all programming: Make the code readable. Typical constants that are easier to read as numbers than named constants are zero, one and minus one.
And as discussed, naming a constant TWO, or ZERO adds no benefit over writing 2 or 0 in the code - it just makes the reader wonder why the constant TWO is defined as 2 and if it's meaningful or not to change it.
If you can't meaningfully name your constant, then it's no point in giving it a name at all.
--
Mats