Opérateurs, comparaisons et conditions
Cette page présente les symboles et mots qui combinent les valeurs : opérations arithmétiques et priorités, comparaisons donnant true ou false, opérateurs logiques et bit à bit. Consultez-la lorsqu’un résultat diffère de vos attentes ou pour faire vérifier une condition par la note, par exemple le respect d’un budget.
Arithmétique
| Opérateur | Orthographes | Exemple | Résultat |
|---|---|---|---|
| Ajouter | +, plus |
£12.50 + £4.30 |
£16.80 |
| Soustraire | -, −, minus |
£20 - £4.50 |
£15.50 |
| Multiplier | *, ×, times, multiplied by, juxtaposition |
3 × £4.50, 2(3 + 4) |
£13.50, 14 |
| Diviser | /, ÷, divided by |
£60 / 4 |
£15.00 |
| Puissance | ^, **, to the power of, raised to, exponent |
2 ** 3, 2 raised to 10 |
8, 1,024 |
| Reste | mod, % (entre deux nombres) |
50 mod 6, 50 % 6 |
2 |
| Racine carrée | √, sqrt(...), square root of |
√144 |
12 |
| Au carré / au cube | ², ³ |
3³ |
27 |
| Factorielle | !, factorial(...) |
5!, factorial(5) |
120 |
Les opérations arithmétiques acceptent les nombres sans unité, les montants monétaires et les quantités avec unité. Le résultat conserve la devise ou l’unité :
£12.50 + £4.30 donne £16.803 * £4.50 donne £13.50£1,000 * 1.05^3 donne £1,157.636 times 7 donne 42100 minus 37.5 donne 62.5La juxtaposition consiste à omettre *, comme dans 2(3 + 4) ou 2π. Multiplication implicite explique quand elle est acceptée.
Ordre des opérations
Les calculs suivent les priorités mathématiques habituelles :
- Parenthèses.
- Factorielles, comme
5!. - Puissances, de droite à gauche :
2^3^2vaut2^9, soit 512. - Signe moins initial, appliqué après la puissance :
-2^2vaut −4, tandis que(-2)^2vaut 4. - Multiplication, division et
mod, de gauche à droite. - Addition et soustraction, de gauche à droite.
Omettre * ne change pas ces priorités : 2x^2 élève x au carré avant de le doubler, comme dans une formule de manuel.
Une multiplication est donc effectuée avant l’addition voisine, ce qui peut surprendre en faisant le total d’une facture :
£85 - £12.50 * 2 donne £60.00(£85 - £12.50) * 2 donne £145.00£120 / 4 / 2 donne £15.00En cas de doute, ajoutez des parenthèses : elles clarifient le calcul et facilitent la relecture.
Le signe de racine carrée s’applique à la valeur immédiatement suivante : √9 + 16 vaut 19. Pour prendre la racine d’une somme, mettez toute la somme entre parenthèses :
√(9 + 16) donne 5Restes
mod donne le reste de la division, utile pour répartir des éléments en groupes :
eggs = 50eggs mod 6 donne 2floor(eggs / 6) donne 8Cinquante œufs remplissent huit boîtes de six ; il en reste deux.
Entre deux nombres, % donne aussi le reste, même lorsque le signe est collé au premier : 50 % 6 et 50% 6 donnent tous deux 2. Sans valeur après, % forme un pourcentage (50%), décrit dans Pourcentages.
Factorielles
Placez ! immédiatement après un nombre, un nom ou une parenthèse fermante pour obtenir sa factorielle :
5! donne 120runners = 4runners! donne 243! + 2 donne 85!=4 donne trueLa factorielle est calculée avant la puissance voisine : 2^3! vaut 2⁶, soit 64. ! suivi de = signifie toujours « différent de », comme le montre la dernière ligne. factorial(5) donne le même résultat que 5!.
Comparaison
==, !=, <, <=, > et >= comparent deux valeurs et renvoient true ou false. Ils acceptent les nombres sans unité, les montants d’une même devise et les quantités mesurant la même grandeur, même dans des unités différentes :
budget = £400spent = £365spent <= budget donne truespent == budget donne falsespent != budget donne true5 km == 5,000 m donne true90 min >= 1.5 hours donne true2 kg < 2,500 g donne trueLes unités sont converties avant la comparaison : 1 mile > 1.5 km donne donc true. Comparer des grandeurs différentes, comme des kilogrammes et des mètres, produit une erreur incompatible units.
Limites des comparaisons
- Comparaisons en chaîne.
5 < x < 10n’est pas accepté. Combinez deux comparaisons :5 < x && x < 10. - Symboles Unicode.
≠,≤et≥ne sont pas reconnus. Utilisez!=,<=et>=. - Dates. Vous ne pouvez pas comparer deux dates avec
<ou>. Soustrayez-les et comparez la différence avec une durée :
deadline = 30 September 2026booked = 14 September 2026deadline - booked donne 2 weeks 2 daysdeadline - booked >= 7 days donne trueOpérateurs logiques
Reliez les comparaisons avec && (les deux doivent être vraies) ou || (au moins une doit être vraie). Les mots and et or ont le même effet entre deux comparaisons.
distance = 5 kmrun time = 27 mindistance >= 5 km && run time < 30 min donne truedistance >= 10 km || run time < 25 min donne falsedistance >= 10 km or run time < 30 min donne truetrue et false peuvent être écrits directement et combinés avec && et || :
true || false donne truetrue && false donne falseCertaines formes attendues ne sont pas prises en charge :
andetorfonctionnent uniquement entre des comparaisons.true and falsen’est pas accepté ; écriveztrue && false.- Il n’existe pas d’opérateur de négation :
not trueet!truene fonctionnent pas. Comparez plutôt avecfalse, comme dans(spent > budget) == false. orne fournit pas de valeur de remplacement en cas d’erreur :1/0 or 5ne donne pas 5.
Utiliser les comparaisons dans les conditions
Une comparaison est particulièrement utile dans if … then … else …, qui choisit une valeur selon le résultat de la condition :
basket = £34.50if basket >= £40 then £0 else £3.99 donne £3.99Conditions décrit la syntaxe complète : else if, formes avec if et unless placés après l’expression, et affectation dans une branche.
Opérateurs bit à bit
Les entiers acceptent les opérateurs bit à bit & (ET), | (OU), xor (OU exclusif), << (décalage à gauche) et >> (décalage à droite). Les mots en majuscules AND, OR et XOR fonctionnent aussi. Ils servent surtout en programmation, par exemple pour les couleurs et les permissions de fichiers.
12 & 10 donne 812 | 10 donne 1412 xor 10 donne 612 AND 10 donne 81 << 10 donne 1,0241024 >> 3 donne 128Le résultat s’affiche en décimal. Ajoutez to binary, in hex ou to octal pour utiliser la base souhaitée :
0o644 | 0o111 to octal donne 0o755colour = 0xFF8800(colour >> 8) & 0xFF donne 136Les décalages sont évalués avant &, | et xor. Des parenthèses rendent toutefois les calculs comme l’exemple de couleur plus faciles à suivre.
Combiner les opérations
Une vérification mensuelle du budget qui utilise l'arithmétique, les comparaisons et la logique ensemble :
# September budgettake home = £2,400rent = £1,050bills = £230groceries = 4 * £65 donne £260.00left over = take home - rent - bills - groceries donne £860.00rent / take home as % donne 43.75%left over > £500 donne trueleft over > £500 && rent <= take home * 45% donne trueDans groceries, la multiplication précède les additions ; dans left over, les soustractions s’effectuent de gauche à droite. Les deux dernières lignes vérifient le budget : le résultat reste true tant qu’il reste plus de 500 £ et que le loyer ne dépasse pas 45 % du salaire net. Il passe à false dès que l’une de ces conditions n’est plus satisfaite.