I pressed him and he eventually said "I ran this by 3 Senior Python experts I know. All of them said the code wasn't good." No other details.
Before he even gave me the assignment he made his decision. He lied about asking 3 other people.
Coding assignments are always one sided. Unless someone from the company is going to sit with me and invest equal hours into the project, I will never do another one.
They are used by companies to filter out desperate employees (young engineers who don't have reputation to fall back on, or nothing to lose by doing it) and it signals a lower value to the company.