Les conditions
Il est possible de diriger l'exécution d'un script en fonction de certaines conditions. Ainsi, sous réserve d'une condition, un ensemble d'instructions peut, ou non, être exécuté.
Conditions¶
Les conditions en Sqript reposent sur l'usage des variables de type booléen, détaillées dans la partie variables. Une condition sera vérifiée si le booléen qui lui est passée est de valeur true
(vrai, en français).
Opérateurs logiques¶
Il est possible de combiner les valeurs de variables booléennes pour satisfaire une certaine condition. Les opérateurs and
, or
et not
permettent d'évaluer une expression logique en plaçant les arguments entre parenthèses, autour ou devant les opérateurs utilisés. Ces opérateurs ne fonctionneront pas si les arguments ne sont pas parenthésés.
L'opérateur and
permet de construire une condition qui sera vérifiée si deux conditions sont vraies :
set {mon_booleen} to (5 = 5) and (12 = 20)
print {mon_booleen} #Affiche False : Les deux conditions n'ont pas été vérifiées
De la même manière, l'opérateur or
permet de construire une condition qui sera vérifiée si au moins une des conditions est vraie :
set {mon_booleen} to (5 = 5) or (12 = 20)
print {mon_booleen} #Affiche True : La première condition a été vérifiée
Enfin, l'opérateur not
correspond à la négation logique. Il n'agit que sur une seule variable, envoie false
si la variable est vraie, et true
si la variable est fausse :
set {mon_booleen} to not (5 = 5)
print {mon_booleen} #Affiche False : 5 = 5 est True, donc not 5 = 5 est False.
Boucle conditionnelle¶
Tip
En programmation, une boucle en règle général est une structure de contrôle de l'exécution du programme. Il n'est donc pas nécessaire que le code dans une boucle soit répété plusieurs fois.
Pour exécuter un ensemble d'action si une condition est vérifiée, on utilise la boucle conditionnelle if
, à laquelle on passe une expression retournant une variable booléenne :
if <condition>:
print "La condition a été vérifiée !"
On peut y ajouter la boucle else
, qui exécutera le code qui lui est associé seulement si la condition passée dans la boucle if
n'a pas été vérifiée.
if <condition>:
print "La condition a été vérifiée !"
else:
print "La condition n'a pas été vérifiée !"
Enfin, il est possible d'utiliser la boucle else if
pour exécuter du code si la condition passée dans la boucle parente n'a pas été vérifiée, mais si une autre condition est vérifiée.
if <condition>:
print "La condition a été vérifiée !"
else if <autre condition>:
print "La condition n'a pas été vérifiée !"
print "L'autre condition a été vérifiée !"
else:
print "Aucune des conditions n'a été vérifiée"
Danger
Les boucles else
et else if
doivent nécessairement être placées après une boucle if
ou une boucle else if
qui permet de remonter à une boucle if
. Dans le cas contraire, une erreur sera levée à la compilation.