Reptes
Repte 7 — L'escala doble ★★ Intermedi
Al fons del mar hi ha una muntanya: uns quants graons que pugen per l'esquerra i els mateixos que baixen per la dreta. Com si fos una piràmide, al capdamunt de la qual hi ha una perla.
En Karel comença al peu de l'escala esquerra, mirant cap a l'Est. La seva missió és pujar fins al cim, recollir la perla i baixar l'escala per l'altra banda i deixar la perla al peu de la piràmide.
Atenció: el teu programa ha de funcionar sigui quin sigui el nombre de graons.
En Karel comença al peu de l'escala esquerra, mirant cap a l'Est. La seva missió és pujar fins al cim, recollir la perla i baixar l'escala per l'altra banda i deixar la perla al peu de la piràmide.
Atenció: el teu programa ha de funcionar sigui quin sigui el nombre de graons.
💡 Pista — la simetria entre puja_grao() i baixa_grao()
puja_grao() fa: avança, gira a l'esquerra, puja, gira a la dreta.baixa_grao() és exactament l'operació inversa: gira a la dreta,
avança, gira a l'esquerra, avança.💡 Pista — com saber quan has arribat a la cima?
El cim de la muntanya és l'única casella del món que té una perla. Pots usar
while not pearl_here(): per pujar graó a graó fins
que trobis la perla. D'aquesta manera el programa funciona per a
qualsevol alçada de muntanya sense necessitat de comptar graons.
💡 Pista — com saber quan has arribat al peu de l'altra banda?
Quan en Karel és al peu del darrer graó de la dreta, la paret del
món li bloqueja el camí cap a l'Est. En aquest cas,
Pots usar
front_is_clear() retorna False.Pots usar
while front_is_clear(): per baixar graó a graó fins que arribes al peu. I només llavors és quan en Karel ha de deixar la perla.