|
|
il est plus efficace de programmer la troisième ligne comme nous l'avons fait ci-dessus, plutôt que d'écrire explicitement : if n % 2 != 0 , car cette formulation imposerait à l'ordinateur d'effectuer deux comparaisons successives au lieu d'une seule.
Ce raisonnement « proche de la machine » vous paraîtra probablement un peu subtil au début, mais croyez bien que cette forme d'écriture vous deviendra très vite tout à fait familière.
Dans ce qui suit, nous n'allons pas apprendre de nouveaux concepts mais simplement utiliser tout ce que nous connaissons déjà, pour réaliser de vrais petits programmes.
Commençons par un petit retour sur les branchements conditionnels (il s'agit peut-être là du groupe d'instructions le plus important, dans n'importe quel langage !) :
|
|
Dans cet exercice, vous retrouvez à nouveau le concept de « bloc d’instructions », déjà abondamment commenté aux chapitres 3 et 4, et que vous devez absolument assimiler. Pour rappel, les blocsd’instructions sont délimités par l'indentation. Après la première instruction if, par exemple, il y a deux lignes indentées définissant un bloc d’instructions. Ces instructions ne seront exécutées que si la condition nn[1] > max est vraie.
La ligne suivante, par contre (celle qui contient la deuxième instruction if ) n'est pas indentée. Cette ligne se situe donc au même niveau que celles qui définissent le corps principal du programme.
- ↑ En fait, la fonction eval() évalue le contenu de la chaîne fournie en argument comme étant une expression Python
dont elle doit renvoyer le résultat. Par exemple : eval(7 + 5) renvoie l'entier 12. Si on lui fournit une chaîne de valeurs séparées par des virgules, cela correspond pour elle à un tuple. Les tuples sont des séquences apparentées aux listes. Ils seront abordés au chapitre 10 (cf. page 158).