Compter les cailloux
Le labyrinthe ci-dessous contient des cailloux placés aléatoirement. La mission est de sortir du labyrinthe tout en ayant compté les cailloux.
Ignorez dans un premier temps la variable
nbcaillouxet écrivez un programme qui permette à la fourmi de sortir du labyrinthe.IndicationS’il y a un caillou devant soit, le prendre, avancer et le déposer derrière. Sinon simplement avancer. Répéter tant qu’on a pas atteint la sortie.
La variable
nbcaillouxva maintenant servir de compteur. Adaptez votre programme pour que, chaque fois que la fourmi voit un cailloux, la variablenbcaillouxsoit incrémentée de1.IndicationUtiliser
nbcailloux = nbcailloux + 1
from laby.global_fr import *
Laby(lignes=1, colonnes=10, option="rocks")debut()
nbcailloux = 0
### BEGIN SOLUTION
droite()
while regarde() != Sortie:
if regarde() == Caillou:
nbcailloux = nbcailloux + 1
prend()
avance()
droite()
droite()
pose()
droite()
droite()
else:
avance()
### END SOLUTION
ouvre()La cellule ci-dessous doit maintenant afficher le nombre de cailloux :
nbcaillouxassert est_gagnant()♣ Pour un défi plus épicé, la mission ci-dessous est d’atteindre la sortie, en comptant les toiles et les cailloux. Procédez en deux étapes comme ci-dessus.
Indication
On peut détruire une toile en posant un caillou dessus.
from laby.global_fr import *
Laby(lignes=1, colonnes=10, option="rocksAndWebs")debut()
### BEGIN SOLUTION
nbcailloux = 0
nbtoiles = 0
droite()
while regarde() != Sortie:
if regarde() == Toile:
nbtoiles = nbtoiles + 1
pose()
if regarde() == Caillou:
nbcailloux = nbcailloux + 1
droite()
droite()
pose()
droite()
droite()
prend()
avance()
else:
avance()
droite()
droite()
pose()
droite()
droite()
### END SOLUTION
ouvre()Les cellules suivantes doivent afficher respectivement le nombre de cailloux et de toiles
### BEGIN SOLUTION
nbcailloux
### END SOLUTION### BEGIN SOLUTION
nbtoiles
### END SOLUTIONassert est_gagnant()