The nature of large online classes is that the vast majority of work must be automated to make it work. Part of this is the check50 grading program. It has very precise expectations for each pset and will not accept incorrect responses. More specifically, any extra or missing prompts, outputs, spaces, line feeds or otherwise incorrect action by your program will be marked as incorrect.
It also means that you need to do precisely what the pset asks. It doesn't allow you to get creative, or improve on the prompts or program behavior ( a very common error early on in this class.) The hidden lesson here is also to program to exact project specs, a very important skill in team programming environments where all the individual pieces have to fit together later. So, while you may be satisfying the spirit of the psets, you are probably doing something that differs from the spec.
You can also safely assume that if it does reject something, it's not a problem with check50, since it has been tested with thousands of students and is very stable. It's a very rare bug that shows up now.
How do you figure out what? Run check50 locally and look at the results. If you get a frowny face, then something is wrong and check50 will display, quite literally, exactly what was expected and exactly what it saw. Your job is to compare them and figure out what is different and how to fix it.
For example, in Mario, if your prompts are wrong, if you have an extra line feed at the top, or an extra leading space on each line, it's wrong. Without seeing your output, there's no way to tell, so good luck! ;-)
If this answers your question, please click on the check mark to accept. Let's keep up on forum maintenance. ;-)