Python — premiers scripts (Seconde) Tuto

Application Python en Seconde

Durée estimée
10 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Ouvrir l'application Python et créer un script

Au programme de Seconde, l'algorithmique passe par Python. La NumWorks embarque MicroPython 1.17 (compatible Python 3.4) : c'est le même langage que celui utilisé en classe, avec quelques modules en moins. L'application Python permet d'écrire des scripts, de les enregistrer sur la calculatrice et de les exécuter dans une console interactive.

Pour lancer l'application, appuie sur , déplace-toi sur la vignette Python avec les flèches, puis valide avec OK. Tu arrives sur la liste des scripts enregistrés. Quatre scripts d'exemple sont fournis d'origine : squares.py, parabola.py, mandelbrot.py et polynomial.py.

Liste des scripts Python par défaut sur NumWorks
Ajouter un scriptSélectionner la case Ajouter un script en bas de la liste, puis OK
Renommer un scriptSélectionner l'icône de réglages à droite du nom, OK, choisir Renommer le script
Supprimer un scriptMême menu de réglages, choisir Supprimer le script
Ouvrir l'éditeurSélectionner le nom du script et appuyer sur OK

Astuce

Tu peux stocker jusqu'à 8 scripts sur la calculatrice. Donne à chaque script un nom court et explicite (aire, seuil, moyenne…) : il apparaîtra dans la liste avec l'extension .py ajoutée automatiquement.

Saisir des lettres et des symboles dans l'éditeur

Dans l'éditeur de script, le clavier numérique se transforme en clavier alphabétique grâce aux touches alpha et shift. Chaque touche porte en haut une étiquette bleue (la lettre accessible avec alpha) et une étiquette orange (le caractère accessible avec shift).

alpha + lettreTape une minuscule (étiquette bleue de la touche)
shift alpha + lettreTape une majuscule
alpha alphaVerrouille le mode alpha (toutes les touches deviennent des lettres)
shift (en mode verrouillé)Bascule entre minuscules et majuscules
alpha (à nouveau)Sort du mode verrouillé

Écrire le mot def

Pour taper les trois lettres d, e, f sans avoir à appuyer trois fois sur alpha, verrouille le clavier alphabétique :

alpha alpha i , xy

La lettre d est sur la touche i (étiquette bleue D), e sur la touche virgule , (étiquette E), f sur xy (étiquette F). Quand tu as fini de taper du texte, appuie une fois sur alpha pour repasser en mode chiffres et opérateurs.

Astuce

Plutôt que de chercher chaque lettre, utilise la touche dans l'éditeur : elle ouvre un menu Boucles et Tests qui insère directement les blocs for, while, if tout prêts. Tu n'auras qu'à compléter les variables.

Écrire une fonction et l'exécuter

En Seconde, tu apprends à écrire des fonctions Python avec def et return. Une fonction prend des paramètres entre parenthèses, effectue des calculs et renvoie un résultat.

Une fonction qui calcule l'aire d'un rectangle

Crée un nouveau script nommé aire (Ajouter un script → OK → taper aire en mode alpha verrouillé → OK). Ouvre-le, puis tape :

def aire(L, l):
    return L * l

L'éditeur indente automatiquement après les deux-points. Pour la multiplication, la touche × insère directement le caractère * attendu par Python. De même, la touche ÷ insère /. Les parenthèses et la virgule sont accessibles directement, sans passer par alpha.

Éditeur de script aire.py avec def aire et return L * l

Pour exécuter la fonction, descends en bas de la liste des scripts et sélectionne Console d'exécution. La console affiche le triple chevron >>> qui invite à entrer une commande. Comme l'option Importation auto est activée par défaut sur chaque nouveau script, la commande from aire import * est lancée automatiquement à l'ouverture : tu peux donc utiliser aire directement.

Tester aire(3, 4) dans la console

Dans la console, tape :

aire(3, 4)

puis EXE. La calculatrice affiche 12 : la fonction a bien renvoyé $3 \times 4$. Essaie aussi aire(2.5, 6) (avec un point comme séparateur décimal en Python) : tu obtiens 15.0.

Console Python NumWorks affichant aire(3, 4) = 12 et aire(2.5, 6) = 15.0

Attention

Ne confonds pas (flèche courbe en haut à droite, quitte l'écran en cours) et (touche en fin de la rangée alpha, efface le dernier caractère). Pour effacer une lettre que tu viens de taper dans l'éditeur, utilise . Si tu appuies sur , tu sortiras de l'éditeur (les modifications restent sauvegardées).

Boucles et conditions avec la touche Toolbox

Le BO de Seconde demande de savoir programmer une boucle bornée (mot-clé for, avec un nombre de répétitions connu à l'avance), une boucle non bornée (mot-clé while, qui s'arrête quand une condition est remplie) et une instruction conditionnelle (if / else). La NumWorks insère ces blocs tout prêts via la touche de l'éditeur.

Boucles et TestsforInsère for i in range(N):
Boucles et TestswhileInsère while ...:
Boucles et TestsifInsère if ...: (et propose else, elif)

Boucle for : moyenne d'une liste de notes

Crée un script nommé moyenne :

def moyenne(notes):
    s = 0
    for x in notes:
        s = s + x
    return s / len(notes)

Dans la console, teste avec la série $12,\ 14,\ 15,\ 16,\ 10,\ 18,\ 13$ :

moyenne([12, 14, 15, 16, 10, 18, 13])

Résultat : 14.0. La fonction len(notes) renvoie le nombre d'éléments de la liste, ici $7$, et $\dfrac{12+14+15+16+10+18+13}{7} = 14$.

Boucle while : recherche d'un seuil

On place 1000 € sur un compte rémunéré à 3 % par an. Au bout de combien d'années la somme dépasse-t-elle 1500 € ? Le calcul à la main demande de tester $1000 \times 1{,}03^{n}$ jusqu'à ce qu'il dépasse $1500$. Python le fait en quelques lignes :

def seuil():
    capital = 1000
    n = 0
    while capital < 1500:
        capital = capital * 1.03
        n = n + 1
    return n
Éditeur de script seuil.py avec la boucle while capital < 1500

L'appel seuil() renvoie 14 : il faut 14 années pour que le capital dépasse 1500 €. Tu retrouveras exactement le même résultat avec l'application Suites de la calculatrice — la différence, c'est qu'ici tu maîtrises la boucle ligne par ligne.

Instruction conditionnelle : tester la parité

def parite(n):
    if n % 2 == 0:
        return "pair"
    else:
        return "impair"

L'opérateur % (à insérer depuis le menu Catalogue) renvoie le reste de la division euclidienne : $n \% 2$ vaut $0$ si $n$ est pair, $1$ sinon. Teste parite(7) : la console affiche 'impair'.

Attention

En Python, le test d'égalité s'écrit avec deux signes égaux : ==. Un seul = sert uniquement à l'affectation (mettre une valeur dans une variable). Si tu écris if n = 2: au lieu de if n == 2:, la console renverra une erreur de syntaxe.

Importer un module : exemple avec math

Pour disposer des fonctions usuelles (racine carrée, cosinus, exponentielle, factorielle…) à l'intérieur d'un script Python, il faut importer un module. Le plus courant en Seconde est le module math.

Calculer une longueur avec le théorème de Pythagore

Dans un nouveau script nommé hypoten :

from math import sqrt

def hypotenuse(a, b):
    return sqrt(a*a + b*b)

L'instruction from math import sqrt rend la fonction sqrt (racine carrée) directement utilisable dans le script. Teste hypotenuse(3, 4) : la console renvoie 5.0, la longueur attendue dans un triangle rectangle dont les côtés de l'angle droit mesurent $3$ et $4$.

sqrt(x)Racine carrée $\sqrt{x}$
piConstante $\pi \approx 3{,}1415$
eConstante $\mathrm{e} \approx 2{,}7182$
cos(x), sin(x), tan(x)Trigonométrie en radians
floor(x)Partie entière inférieure
factorial(n)Factorielle $n!$

Attention

Dans le module math, les fonctions cos, sin et tan travaillent en radians, pas en degrés — contrairement à l'application Calculs qui est en mode degrés au lycée. Pour calculer $\cos(60°)$ depuis Python, deux solutions : convertir d'abord avec radians(60), ou utiliser l'expression $\cos(60°) = \cos\left(\dfrac{\pi}{3}\right)$.

from math import cos, pi, radians
cos(radians(60))    # renvoie 0.5
cos(pi/3)           # renvoie aussi 0.5

Remarque

La fonction log(x) de MicroPython calcule le logarithme népérien $\ln(x)$, pas le logarithme décimal. Pour le logarithme décimal, utilise log10(x). Cette particularité disparaît si tu utilises le module sur un ordinateur, mais sur la NumWorks elle est bonne à connaître.

Astuces transversales

Quelques gestes reviennent à chaque séance et méritent d'être automatisés dans l'application Python :

var (dans l'éditeur ou la console)Affiche la liste des fonctions et variables globales définies dans tes scripts importés
var (autocomplétion)Quand l'éditeur affiche une suggestion en gris, / proposent les autres complétions possibles
ou OKAccepte la suggestion d'autocomplétion en gris
(dans la console)Interrompt l'exécution du script en cours
(appui long)Force l'arrêt d'une boucle infinie qui ne répond plus

Astuce

Si une boucle while tourne indéfiniment (par exemple parce que la condition d'arrêt n'est jamais atteinte), tu n'as pas besoin d'éteindre la calculatrice. Maintiens enfoncée pendant deux ou trois secondes, et relâche : la console reprend la main et te laisse corriger le script.

Remarque

Tous tes scripts Python sont conservés entre deux allumages de la calculatrice. Ils restent même quand tu actives le mode examen (ils sont seulement temporairement masqués) et réapparaissent à la sortie du mode examen, après reconnexion à un ordinateur. Tu peux donc préparer tes scripts à la maison sans craindre de les perdre.