While you did have the correct answers your method could run into problems when you have the same gene in both parents, But as long as you keep it straight in your head all that matters. Yes the calcs are nice, but it's also nice to understand how this stuff works.
So if your actually interested.... I'll show you my method, I like it because I don't miss anything even with big squares.
I set up the square by listing every allele combination the parent can give (simplifies it as much as possible) and I also make sure each locus is represented (make sure nothing is missed). Capital letters are morphed allele, lowercase are normal allele.
Albino x YB
the albino can only give 1 allele combination (Ay) while the yellow belly can give 2 (aY and ay)
Albino x Spider
Same deal as the above example
Spider x YB
Both have two different allele combinations
Spider x Ivory
Something I want to point out at this point is that you will notice Albino x Spider, Albino x Yellow Belly and Ivory x Spider calculated exactly the same way didn't they? That because you had a heterozygous (spider or yellow belly) x homozygous (ivory or albino) breeding. Being recessive/co-dom/dom has nothing to do with how punnett squares work. It's about heterozygous and homozygous.
You will see every single heterozygous x homozygous breeding calculates exactly like that, doesn't matter what morphs are involved (as long as their not that same morph for the current example), doesn't matter if their recessive/co-dom/dom. Just something to keep in mind, you will soon see patterns and this complicated genetics thing get really easy.
Now I'm not sure how your method would of calculated something with the same gene in both snakes. If you get the right answer somehow, by all means keep doing what your doing. but here my example
Lemon Blast x BumbleBee
(Pastel/Pinstripe) x (Pastel/Spider)
4 different Allele combinations from each of them
P = Pastel
X = Pinstripe
S = Spider
or
need me to explain something better, feel free to ask.