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
nbcailloux
et écrivez un programme qui permette à la fourmi de sortir du labyrinthe.Astuce
Indication S’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
nbcailloux
va maintenant servir de compteur. Adaptez votre programme pour que, chaque fois que la fourmi voit un cailloux, la variablenbcailloux
soit incrémentée de1
.Astuce
Indication
Utiliser
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 :
nbcailloux
7
assert 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.
Astuce
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
12
### BEGIN SOLUTION
nbtoiles
### END SOLUTION
4
assert est_gagnant()