Reptes

Repte 6 — Construir torres ★★ Intermedi

El fons del mar té diverses bases marcades amb una perla al terra. En Karel comença a la base de la columna més a l'esquerra, mirant cap a l'Est.
En Karel ha de construir una torre de perles per damunt de cada base, des del terra fins al sostre. Com que algunes bases ja podrien tenir perles de decoració, en Karel ha de deixar una perla només si la casella és buida.
Quan ha completat totes les columnes, ha de quedar a la base de l'última torre mirant cap a l'Est.
Escriu un programa que funcioni, sigui quina sigui l'alçada del món i el nombre de torres. El teu codi no pot dependre del nombre exacte de caselles.
💡 Pista — pre/postcondicions de omple_columna()
La funció omple_columna() ha de tenir aquesta estructura. Sempre assumeix que: en Karel és a la base de la columna, mirant cap a l'Est quan s'inicia, i al mateix temps, sempre l'ha de deixar en exactament la mateixa posició, un cop ha omplert la columna.
💡 Pista — el while imbricat i l'error de pal de paller
En la funció omple_columna() hi ha dues iteracions: una per pujar fins al sostre i una per tornar al terra. La iteració de pujada s'atura abans d'arribar a l'última casella, igual que al repte del passadís. Afegeix un if not pearl_here(): drop() fora del while per no perdre la casella del sostre.