ちなみに
n cats = [] = 1
はまず [] = 1 ってのが実行されようとするからその時に構文エラーになる

n, cats = 1, []
の見間違いじゃない?