Auteur : Vincent ROBERT

Tutoriels

Découvrir le module turtle de python

Ce mini tutoriel vous propose quelques exemples de scripts python, simple à comprendre et à modifier, vous permettant de débuter sereinement la réalisation d’une image dessiné avec le module turtle de python.

Cet article a été écrit à deux mains, ainsi vous ne saurez pas qui accabler ci vous y trouvez des coquilles 😅

Tableau des méthodes Turtle en python

Ce tableau présente quelques méthodes turtle, mais il en existe d’autres, il ne faut pas hésiter à lire la documentation officielle : turtle — Turtle graphics

instructionsExplication en françaisExemples d’utilisation
forward(distance)La tortue avance de distance dans la direction précédemment fixéeDessiner des triangles
circle(radius)La tortue trace un cercle de rayon radiusDessiner des cercles
goto(x, y)La tortue se deplace aux point de coordonnées (x,y)Dessiner des triangles
begin_fill()
fillcolor(couleur)
end_fill()
La tortue remplit des formes géométriques de la couleur couleur, c’est comme le seau de peinture dans Paint.Colorier des cercles
il existe de nombreuses autres fonctions dans le module turtle, lisez la documentation officielle : turtle — Turtle graphics et cherchez d’autres tutoriels !

Dessiner des triangles équilatéraux

Le script ci-dessous définit une fonction, capable de construire un triangle équilatéral aux coordonnées (x, y) et de spécifier la longueur du côté du triangle. La couleur par défaut est le noir #000000 ou (1,1,1) mais cette couleur peut-être personnalisé lors de l’appel de la fonction.

from turtle import *
from random import randint

colormode(255)

def triangle(longueur, x, y, couleur=(1, 1, 1)):
    penup()
    goto(x,y)
    pendown()
    pencolor(couleur)
    for i in range(3):
        forward(longueur)
        left(120)

for i in range(42):
    x, y = randint(-600, 400), randint(-300, 200)
    long = randint(10, 200)
    color = (randint(0, 255), randint(0, 255), randint(0, 255))
    triangle(long, x, y, color)

Dessiner des cercles

Le script ci-dessous définit une fonction, capable de construire un cercle aux coordonnées (x, y) et de spécifier la longueur du rayon de ce cercle. La couleur par défaut est le noir #000000 ou (1,1,1) mais cette couleur peut-être personnalisé lors de l’appel de la fonction.

from turtle import *
from random import randint

colormode(255)

def cercle(rayon, x, y, couleur=(1, 1, 1)):
    penup()
    goto(x, y-rayon)
    pendown()
    pencolor(couleur)
    circle(rayon)
    

for i in range(42):
    x, y = randint(-600, 400), randint(-300, 200)
    radius = randint(10, 200)
    color = (randint(0, 255), randint(0, 255), randint(0, 255))
    cercle(radius, x, y, color)

Dessiner des disques

Le script ci-dessous définit une fonction, capable de construire un disque aux coordonnées (x, y) et de spécifier la longueur du rayon de ce disque. La couleur par défaut est le noir #000000 ou (1,1,1) mais cette couleur peut-être personnalisé lors de l’appel de la fonction.

from turtle import *
from random import randint

colormode(255)

def disque(rayon, x, y, couleur=(1, 1, 1)):
    penup()
    goto(x, y-rayon)
    pendown()
    pencolor(couleur)
    fillcolor(couleur)
    begin_fill()
    circle(rayon)
    end_fill()
    

for i in range(42):
    x, y = randint(-600, 400), randint(-300, 200)
    radius = randint(10, 200)
    color = (randint(0, 255), randint(0, 255), randint(0, 255))
    disque(radius, x, y, color)

Ecrire des fonctions et les réutiliser

Une manière intelligente d’écrire un script est de coder des fonctions, des fonctions paramétrables.

Les fonctions proposées ci-dessus sont paramétrables :

  • coordonnées (x, y),
  • couleur,
  • rayon ou longueur

Nous aurions pu ajouter d’autres paramètres à ces fonctions, comme par exemple la largeur du trait ou une rotation initiale dans le cas des triangles…

Un exemple d’image générée avec une unique fonction, cette fonction est appelée dans une boucle.

Un champ de rose (source), un script de moins de 42 lignes, beaucoup moins !

La fonction elle même contient une boucle.

L’histoire raconte que plusieurs milliers de cercles ont été tracés.

L’image est générée au format .png en exploitant le tutoriel Exporter une image générée par le module turtle sur python

Tutoriels

Exporter une image générée par le module turtle sur…

Il est possible de produire des images à l’aide d’un script python, en exploitant par exemple la bibliothèque turtle de python. Nativement, le module turtle propose un export au format .ps de l’image générée. Ce tutoriel vous permettra d’exporter cette image au format .png

Exporter une image au format .ps

Nativement, le module turtle de python est capable d’exporter une image au format .ps (découvrir le .ps) comme dans l’exemple ci-dessous.

from turtle import *

list1 = ["blue","cyan", "pink", "magenta", "purple"]
for i in range(42) :
  color(list1[i%5])
  pensize(42)
  forward(4*i)
  right(42)
  
image = getcanvas()
image.postscript(file="image.ps", colormode='color')

Cette image est crée puis enregistrée dans le même dossier que celui qui contient le script .py au format .ps

Cette image n’est pas affichée par l’explorateur Windows, il ne gère pas nativement ce format.

Il est possible de l’ouvrir et de la modifier modifiée sous GIMP, et éventuellement de l’exporter au format .png depuis ce logiciel libre.

L’image ouverte dans Gimp

Cette solution présente 4 défauts :

  • Chaque exécution du script va écraser l’image précédente,
  • Le nom du fichier est non pertinent,
  • Le format .ps n’est pas directement utilisable.
  • La taille de l’image n’est pas gérée.

Exporter une image au format .ps avec un nom de fichier défini

from turtle import *

# Uniquement des lettres, des chiffres, un tiret. Rien d'autre.
titre = "Spirale - construite avec turtle"

# Définir le titre de la fenêtre de turtle + propagande ^^
title(titre+" | Au lycée, la meilleure spécialité, c'est la spé NSI")

list1 = ["blue","cyan", "pink", "magenta", "purple"]
for i in range(42) :
  color(list1[i%5])
  pensize(42)
  forward(4*i)
  right(42)
  
image = getcanvas()
image.postscript(file=titre+".ps", colormode='color')

La fenêtre turtle à désormais un titre :

Ce titre est exploité pour générer un fichier correctement nommé :

On va maintenant ajouter un identifiant, presque unique pour que les images ne s’écrasent pas.

from turtle import *
from datetime import datetime

# Uniquement des lettres, des chiffres, un tiret. Rien d'autre. https://learn.microsoft.com/fr-fr/windows/win32/fileio/naming-a-file
titre = "Spirale - construite avec turtle"

# Définir le titre de la fenêtre de turtle + propagande ^^
title(titre+" | Au lycée, la meilleure spécialité, c'est la spé NSI") 

list1 = ["blue","cyan", "pink", "magenta", "purple"]
for i in range(42) :
  color(list1[i%5])
  pensize(42)
  forward(4*i)
  right(42)
  
image = getcanvas()
nom_du_fichier=titre+"_"+hex(datetime.now().microsecond)+".ps"
image.postscript(file=nom_du_fichier, colormode='color')

L’image sera générée aura un identifiant presque unique, codée en base 16.
Après réflexion, un nombre aléatoire généré par le module random aurait été préférable et plus simple 🤔

Si les deux dernières lignes sont exécutés trois fois, on obtient 3 images (identiques) mais ayant chacune un identifiant unique.

Remarque : Il est possible, que parfois une une nouvelle image écrase une précédente, mais la probabilité est faible.

Exporter une image au format .png avec une résolution cible

Pour exporter également les images au format .png, on va avoir besoin du module PILLOW de python et de ghostscript.

  1. Installer ghostscript : https://ghostscript.com/releases/gsdnld.html
  2. Installer PIL, sous Thonny
    Outil > Ouvrir la console système> pip install pillow
  3. Redémarrer l’ordinateur.
  4. Redémarrer Thonny. (ceinture + bretelle 😩)
    Outil > Ouvrir la console système > pip show PILLOW
    Vous devriez voir la version de PIL affichée

Le script final spécifie le format de l’image (ici en 720p), génère le fichier au format .ps et le fichier au format .png.

from turtle import *
from random import randint
from PIL import Image

# Uniquement des lettres, des chiffres, un tiret. Rien d'autre. https://learn.microsoft.com/fr-fr/windows/win32/fileio/naming-a-file
titre = "Spirale - construite avec turtle"

# Définir le titre de la fenêtre de turtle + propagande ^^
title(titre+" | Au lycée, la meilleure spécialité, c'est la spé NSI")

# definir la taille de la fenêtre en 720p (Largeur, Hauteur, abscisse départ, ordonnée du départ)
setup(1280, 720, 0, 0) 

# ============== MON SCRIPT PYTHON ==============

list1 = ["blue","cyan", "pink", "magenta", "purple"]
for i in range(2*42) :
  color(list1[i%5])
  pensize(42)
  forward(4*i)
  right(42)  

# ============== GENERER DES IMAGES AUTOMATIQUEMENT ==============

image = getcanvas()
nom_du_fichier_sans_extension=titre+"_"+hex(randint(2**30+2**25,2**30+2**25+2**24-1))[2:]

# Génère un fichier .ps
image.postscript(file=nom_du_fichier_sans_extension+".ps", colormode='color')

# Ouvre le fichier .ps et génère le fichier .png
psimage = Image.open(nom_du_fichier_sans_extension+".ps")
psimage.save(nom_du_fichier_sans_extension+".png")

A noter : Pour l’instant l’export ne respecte pas la résolution imposée (720p), l’image générée fait 959 par 540 pixels. Des investigations sont en cours pour comprendre le problème.

Un fichier .py qui gère les erreurs

Les élèves ne lisent pas les tutoriels, ils préfèrent appeler l’enseignant car « cela ne marche pas ».
Le fichier .py ci-dessous gérera ce problème et les deux erreurs classiques probables.
Si l’élève n’a pas suivi le tuto ou qu’il n’a pas réussi à installer les modules requis, l’image .png ne sera pas générée mais le script ne plantera pas.

try, except pour une gestion propre des plantages.

try:
    from PIL import Image
    pillow_installed = True
except:
    print("Oops! - ModuleNotFoundError: No module named 'PIL' - RTFM :")
    print("https://nsi.xyz/py2png")
    pillow_installed = False

Rudiments pour le module turtle

A lire ici : Découvrir le module turtle de python

Support technique

Aucun support technique ne sera assuré concernant ce tutoriel.

En cas de problème, vous pouvez toujours répondre à ce message sur twitter mais sans garantie de réponse 😉

One More Thing

Le code final formate le nom du fichier avec

randint(2**30+2**25,2**30+2**25+2**24-1)

Pourquoi 230+225 ?

Evolution à prévoir en 2023

1. Générer les images à l’aide d’une fonction, afin de pouvoir l’appeler à plusieurs moments, utile pour écrire l’article de présentation.

2. Intégrer ceci :

Tester ceci (aussi dans un mail reçu le 13 nov. 2022 09:50)

NumApps

Convert en python, NumWorks

Convert est un utilitaire conçu pour votre calculatrice, son objectif est de vous fournir une interface afin d’effectuer des conversions binaires, hexadécimales, et décimales. Convert est un outil ultra rapide qui pourra vous aider à effectuer des conversions facilement et rapidement.

Fonctionnalités

  • Conversions possibles du binaire vers décimal et hexadécimal, hexadécimal vers binaire et décimal, ainsi que décimal vers binaire et hexadécimal
  • Support des nombres négatifs en complément à deux. 0 à 255 en mode Integer, et -128 à 127 en mode Two’s complement

Captures d’écran

Commandes

△ et ▽◁ et ▷OK
Augmenter / DiminuerSe déplacerChanger de mode

Télécharger

Nous vous proposons 2 liens distincts, le premier est le lien vers la source du créateur de l’application, le deuxième est un lien alternatif en cas de problème. Seul le premier lien garanti de disposer de la dernière version de l’application.

NumApps

Colors en python, NumWorks

Colors est un utilitaire conçu pour votre calculatrice, dont l’objectif est de vous fournir une interface simple, ergonomique, et complète, permettant d’afficher des rendus de couleur via le format RGB de cette couleur ! Vous avez besoin de violet pour effectuer votre plus belle rosace avec Turtle ? Vous ne connaissez pas le format RGB du violet ? Parfait ! Lancez Colors !

Fonctionnalités

  • Affichage du format hexadécimal et RGB de la couleur définie
  • Choix de teintes adaptées proposées automatiquement
  • Support du pavé numérique
  • Système d’impulsion intelligent, pour des déplacements rapides et précis

Captures d’écran

Commandes

△ et ▽◁ et ▷Chiffres
NaviguerModifier / RéglerChoisir / Se déplacer

Pour aller plus loin

Si vous souhaitez en savoir davantage sur le fonctionnement et le développement de cet utilitaire, vous pouvez lire l’article de présentation : Le projet Colors en python sur NumWorks

Télécharger

Nous vous proposons 2 liens distincts, le premier est le lien vers la source du créateur de l’application, le deuxième est un lien alternatif en cas de problème. Seul le premier lien garanti de disposer de la dernière version de l’application.

Tutoriels

Développer une application pour la NumWorks sur un vrai…

Vous avez décidé de créer un script python et de porter ce script sur la couche graphique de la calculatrice NumWorks, vous serez vite limité par my.numworks.com qui ne propose qu’une interface très limité de développement.

Si vous codez un script python qui n’exploite que la console, vous pouvez le développer sur n’importe quel outil puis simplement copier / coller votre script dans votre espace de stockage en ligne proposé par NumWorks sur my.numworks.com/python/

Si vous souhaitez d’exploiter des modules propriétaires de la calculatrice NumWorks, tels que ion (gestion du clavier) ou kandinsky (pour gérer l’écran pixel par pixel) alors tout est plus compliqué, enfin tout était plus compliqué !

Il était une fois le workshop …

Le site officiel de NumWorks qui héberge les script s’appelle désormais my.numworks.com mais au départ, il y a fort longtemps, on parlait du workshop, il était accessible en ligne depuis cette adresse workshop.numworks.com et proposait une interface de programmation primitive, qui n’a malheureusement que peu évolué depuis 2017.

Si vous aimez les ascenseurs vous allez adorer cette interface de programmation !

Pas pratique, pas collaborative, bogué, bref on y a codé des jeux et ce fut épique.

La révolution Omega et son IDE en ligne

Le développement de petits jeux sur la NumWorks a été rendu possible par la sortie de la version 13 officielle, et lorsque nous avons commencé à faire des jeux, comme le démineur nous avons très vite suggéré l’idée de rendre possible de développement des projets avec Kandinsky sur PC sans passer par l’interface officielle de NumWorks.

En septembre 2020, l’équipe de Omega (un fork de Epsilon, l’Os de la calculatrice) lançait un IDE en ligne. Il est toujours utilisable à l’adresse https://getomega.dev/ide mais il nécessite un compte GitHub, car les fichiers .py qui y seront crées seront enregistrés sur GitHub.

Pour l’avoir utilisé et exploité avec les élèves en octobre / novembre 2020 pour leurs projets de spécialités NSI, nous pouvons certifier que c’est un superbe outil et une belle amélioration du workshop officiel.

Notre jeu Tetris a été développé sans cet IDE, tout aurait été tellement plus simple avec !

Le talent n’attend pas le nombre des années

Un développeur du nom de ZetaMap , lycéen en terminale STI2D option SIN au lycée Vauban de Brest a codé deux modules pour nous faciliter la vie :

Il est désormais possible d’utiliser un IDE classique (testé uniquement sous Windows) pour développer sur la NumWorks :

Ici le jeu Factors,, il tourne sur un PC alors qu’il exploite des modules spécifiques de la NumWorks.

Comment installer les modules de la NumWorks sur Thonny

Thonny est un IDE léger, simple et excellent pour débuter en python.

Nous allons voir ici comment installer des modules simplement sur Thonny, c’est-à-dire en se passant des traditionnels pip install dans un terminal.

Tout d’abord, il vous faut ouvrir Thonny, cela va de soit, ensuite accéder à l’onglet « Tools » ou « Outils » (selon votre langue), puis à la section « Manage packages… » ou « Gérer les paquets… ». Enfin, il suffit plus que de rechercher les modules « kandinsky » et « ion-Numworks » et de les installer !

Comment installer les modules de la NumWorks sur PyCharm

PyCharm est un IDE un peu lourd, mais très complet. Il peut-être notamment utile si vous gérez des projets avec Git.

Nous allons donc voir ici comment installer des modules encore une fois simplement sur PyCharm, c’est-à-dire en se passant des traditionnels pip install dans un terminal.

Tout d’abord, il vous faut évidemment ouvrir PyCharm, ensuite accéder à l’onglet « File », puis aux options « Settings ». À présent, rendez-vous dans la catégorie « Python Interpreter » dans votre Projet « Project: <project_name> ». Désormais, pour installer un module, appuyez sur le bouton « + » :

il suffit plus que de rechercher les modules « kandinsky » et « ion-Numworks » et de les installer !

Comment exploiter les modules ainsi installés

Pour exploiter les modules, rien de plus simple, il faut seulement les importer dans votre code :

from kandinsky import *
from ion import *

Votre code sera donc compatible avec votre IDE et la calculatrice, sans aucune modification requise.

Bugs et limite du portage

Évidemment, cette technique n’est pas sans limite. Notamment, si vous utilisez Turtle en plus de kandinsky. En installant ces deux modules et en les utilisant, deux émulateurs graphiques s’ouvriront, un exploitant kandinsky, et l’autre Turtle. C’est pour ça qu’il est déconseillé d’utiliser les deux en même temps, utiliser soit l’un soit l’autre.

De plus, est à éviter de changer de fenêtre pendant l’exécution du programme, cela risque de freeze l’émulateur :

Si vous souhaitez discuter de cet émulateur, faire remonter des bugs ou juste dire merci à son concepteur, tiplanet.org à bien voulu nous créer un salon dédié sur le serveur discord.

Lien direct vers ce salon : https://discord.gg/bBM7mgucjF

NumApps

Factors en python, NumWorks

Un jeu qui mettra vos méninges au défi ! Sur Factors, vous ne devez pas réfléchir à comment vous allez pouvoir faire pour augmenter cette foutue moyenne générale, mais au contraire comment la baisser !

Règles du jeu

Avec une variante des règles de base de la division, Factors est un jeu de mathématiques amusant conçu pour être facile à comprendre, mais qui met de plus en plus à l’épreuve vos compétences mentales en mathématiques à mesure que vous progressez dans les niveaux.
Déplacez votre numéro vers la droite à travers la grille des numéros pour vous rapprocher le plus possible de 1. Mais attention, si la division de vos nombres ne forment pas un nombre entier, ils s’additionnent !
Votre objectif est de maintenir votre moyenne globale aussi basse que possible !

Ce jeu est une adaptation du jeu original Factors Game.

Fonctionnalités

  • Support des couleurs des systèmes d’exploitations Epsilon et Omega
  • Réinitialisation des mouvements pendant un niveau
  • Menu de sélection du niveau
  • Stockage du meilleur score de chaque niveau
  • Sauvegarde de sa progression
  • Et bien plus…

Captures d’écran du jeu

Commandes

△ et ▽OKAns
NaviguerAccéder / CalculerRéinitialiser / MenuSauvegarder / ChargerQuitter le programme

Pour aller plus loin

Si vous souhaitez en savoir davantage sur le fonctionnement du jeu, vous pouvez lire l’article de présentation : Factors Game en python sur NumWorks

Télécharger

Nous vous proposons 2 liens distincts, le premier est le lien vers la source du créateur de l’application, le deuxième est un lien alternatif en cas de problème. Seul le premier lien garanti de disposer de la dernière version de l’application.

NumApps

Le jeu 2048, sur ta NumWorks !

2048 est un jeu vidéo de type puzzle conçu en mars 2014 par le développeur indépendant italien Gabriele Cirulli et publié en ligne sous licence libre. La version présenté ici est le portage du jeu, réalisé par Eric Schrafstetter et légèrement modifiée par nos soins pour un rendu sublimé sur la NumWorks.

Portage du jeu, en python, sur NumWorks

Eric Schrafstetter est le premier a voir porté ce jeu sur la calculatrice NumWorks, ce jeu nécessite une version Epsilon 13 ou supérieur installé sur la calculatrice. En effet, la version 13 de l’OS de cette calculatrice à permis le développement de jeux car il était désormais possible de récupérer les touches du clavier saisies.

Publié le premier avril 2020, la première version de ce programme a été suivie par une version améliorée proposée le 30 juillet 2021. Nous avons découvert ce jeu fin décembre 2021, et avons décidé de l’améliorer afin de proposer une expérience joueur améliorée.

La version 2 de Eric Schrafstetter

La version modifié par nos soins

Modifications réalisées par nos soins

  1. La grille a été centrée et la bordure épaisse réduite, on conserve l’effet « ombre » sans écraser la grille.
  2. Le score a été déplacé, il est moins visible pendant la partie, l’interface présente une symétrie visuelle et la modification du score n’attire pas l’œil.
  3. Les micros-lags ont été supprimés. Dans la version d’origine, la grille était entièrement effacée puis reconstruite ce qui générait un affichage haché avec un effet de rafraichissement pas agréable. Le jeu est du coup plus fluide, plus agréable à utiliser.
  4. Une détection de la fin de partie a été implémentée, si la grille est remplie et que 4 touches sont pressées sans que rien ne se passe, on signale au joueur que la partie est terminée.

Une vidéo de présentation du codage

Si le codage de ce jeu vous intéresse, la vidéo de son auteur est incontournable. 😍

Commandes

Le jeu se joue simplement avec les touches fléchées de la calculatrice.

Télécharger

Des liens vers les version 1 et 2 du jeu, celle de Eric Schrafstetter sont au début de cet article. Nous vous proposons de tester la version modifiée par nos soins :

Tutoriels

Débuter et découvrir python 3

Python est un langage de programmation simple d’usage qui sera utilisé en mathématiques ainsi qu’en spécialité NSI ( Numérique et Sciences Informatiques ) lors d’activités algorithmiques. Présentation d’un document exploité en classe de seconde.

Un triptyque à imprimer en couleur

Le dépliant 3 volets a été conçu pour être imprimé en couleur puis plié. Un trait de pliage discret mais présent permet de réussir le pliage roulé, c’est à dire que le document se replie sur lui même et ce dans un même sens.

Document au format natif Google Document.

Si vous avez un compte Google, vous pouvez créer une copie rapidement de ce document pour le modifier.
Fichier > Créer une copie

Pour l’impression, il est conseillé de réaliser un PDF au préalable :
Fichier > Télécharger > Document PDF (.pdf)
puis d’ouvrir ce document dans Adobe Acrobat Reader et de l’imprimer avec les paramètres suivants :
Page 1-2 | Taille réelle | Recto verso : Retourner sur les bords courts | Paysage

Scénario d’utilisation du document.

Ce document sera testé une première fois à la rentrée 2021 en classe de seconde. Autant rien ne va marcher 😅
Pour avoir un retour, il vous suffira de consulter ce compte twitter à la rentrée 2021.

Ce document parait incomplet, il y a des trous et l’un des scripts ne semble pas produire le résultat attendu.
Ce document sera accompagné de consignes, il s’inscrira dans le cadre d’un travail de groupe.
Le travail de groupe permet aux élèves de s’entraider, au lieu de gérer 38 élèves qui ont chacun un problème différent, il y a « juste » 10 groupes à superviser.

Travail préalable :
Les élèves doivent télécharger les scripts start.py et sapin.py sur leur calculatrice NumWorks.
Les élèves doivent saisir manuellement le script ce2.py dans leur calculatrice NumWorks.

Travail de groupe :
En cours de création. Ne sera pas rendu accessible via un lien public. Contactez moi si ce document vous intéresse.

  • Leur demander de tester les opérateurs mathématiques, d’affectation et de comparaison dans la console python de leur calculatrice puis compléter les tableaux proposés.
  • Tester les différentes fonctions proposées dans start.py, les exécuter avec différents paramètres.
  • Modifier le script sapin pour obtenir le rendu proposé.
  • Créer un premier script

Contributeurs

Ce document sous licence cc by sa intègre des contributions d’élèves et / ou d’enseignants.

Le script turtle est l’œuvre de Cyril D, élève de seconde en 2020 – 2021, il a été réalisé dans le cadre d’un devoir maison intitulé « Les mathématiques sont belles« . Ce script est présenté ici : Dessine moi un Open Badge

from turtle import *
liste = ["pink", "red", "orange", "yellow", "green", "blue", "purple"]
for i in range(3*42) :
  color(liste[i%7])
  pensize(10+2)
  forward(i)
  left(59)

Le sapin est un grand classique du genre, un dessin en Art ASCII, proposé initialement ainsi :

# sapin.py
ligne = 1
max = 6
while ligne < max:
    n = max - ligne
    s = 2 * ligne - 1
    print(" " * n + "#" * s)
    ligne +=1
print(" " * (max - 1) + "#")

il a été amélioré par un enseignant sur twitter, et la fusion des deux script a donné ceci :

# sapin.py
hauteur = 6
diese = 1
espace = hauteur - diese
 
while espace > 0:
    print(" " * espace + "#" * diese )
    espace -= 1
    diese += 2
 
print(" " * (hauteur - 1) + "#")

Les fonctions hypotenuse() et reponse() ont été imaginée et construite par Kevin Fedyna.

from math import sqrt

def hypothenuse(a, b):
    # Théorème de Pythagore
    c = sqrt(a ** 2 + b ** 2)
    # La fonction renvoie le résultat
    return c
 
def reponse(n):
    return n == 42 

Débogage

Merci pour les erreurs que vous m’avez signalés, elle ne peuvent pas être corrigées sur l’image diffusée ici mais elles sont prise en compte presque en temps réel dans le document final. N’hésitez pas à répondre à ce message twitter si vous constatez d’autres erreurs.

Tutoriels

Comment exécuter un script python

Que vous soyez en spécialité NSI, un lycéen français ou simplement un curieux désireux de tester un script python, voici quelques solutions simples pour exécuter un script python.

Voici un code python très simple. Quel est le résultat produit par l’exécution de ce code ?

''' python3 Hello World ! '''
message = [72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33] 
for nb in message:
    print(chr(nb), end="")
print("\n"+" " * 42, ord("*"))
#spé nsi

Thonny, un IDE simple à utiliser.

Sur Windows, Mac ou Linux il existe un IDE très simple et facile à utiliser. On le télécharge depuis le site officiel thonny.org, on peut l’installer sur un compte utilisateur sur Windows et on peut le personnaliser avec des thèmes pour obtenir une coloration syntaxique à son goût.

Thonny avec le thème Clean Dark Blue et la coloration syntaxique Dracula.

Il suffit de copier / coller le script dans l’éditeur de script, de l’enregistrer, puis de cliquer sur le bouton d’exécution du script (ou sur son raccourci clavier [F5]) pour obtenir le résultat de l’exécution dans la console.

On peut bien évidemment utiliser la console pour tester rapidement du code python ou interroger le contenu des variables.

Thonny est un logiciel libre, gratuit, sous licence MIT.

Basthon, un IDE en ligne respectueux de votre vie privée

Basthon est l’acronyme de « Bac À Sable pour pyTHON« . Il s’agit un IDE en ligne, accessible sans aucune installation préalable, donc utilisable si vous disposez d’un navigateur internet. Vous pouvez l’utiliser en ligne, en étant connecté à internet ou simplement en téléchargeant et décompressant une archive zip.

Basthon est :

Tester le mode console de Basthon

Depuis le site officiel ou depuis notre site. Seul le premier lien vous garanti de disposer de la dernier version de Basthon.

NumApps

Des simulateurs web pour la NumWorks

Le logiciel de la NumWorks est sous licence Creative Commons, ce qui autorise la modification du code de la calculatrice et sa redistribution en respectant quelques règles.

Le simulateur officiel de la NumWorks

Un simulateur web construit sur du HTML, CSS et Javascript est proposé en ligne, gratuitement sur le site officiel de la calculatrice, il est présenté comme un outil idéal pour les démonstrations en classe et c’est une réalité.

  • Il est gratuit,
  • Il est accessible en ligne et hors ligne (téléchargeable gratuitement),
  • Il gère le mode plein écran pour un usage au vidéoprojecteur,
  • il est responsive et s’adapte à la taille de votre écran,
  • il gère l’enregistrement de la session et le partage de celle-ci par lien
    (cette dernière fonctionnalités n’est pas encore parfaitement stable à la date du 27 avril 2021)

En ligne : https://www.numworks.com/fr/simulateur/

Les simulateurs modifiés de la NumWorks

Nous vous proposons 3 simulateurs web légèrement modifiés de la NumWorks.

Pour un usage en ligne, nous les avons hébergé sur des sous domaines de ce site web.

Epsilon simulateurOmega simulateurPsi simulateur
epsilon.nsi.xyzomega.nsi.xyzpsi.nsi.xyz
Image modifiée par nos soins
Patché par Joachim Le Fournis
Simulateur officiel de Omega
https://getomega.dev/releases
Dérivé du projet NSIos
Gabin P. et Raphaël C.

Et parce que vous souhaitez peut-être changer d’ambiance un menu de navigation vous permet de passer de l’un des simulateurs à l’autre.

Patchs sur le simulateur epsilon

Quelques modifications ont été apportées au simulateur epsilon.nsi.xyz par rapport au simulateur officiel du constructeur de la calculatrice.

  1. L’image de la calculatrice a été modifiée pour avoir un rendu plus flat, pas parfait mais suffisant pour nous permettre de faire les captures d’écran que nous utilisons pour notre sélection NumApps.
  2. Le fond d’écran à été modifié pour la même raison.
  3. Les scripts natifs ont été effacés, il ne doivent donc pas être désactivés ou supprimés manuellement à chaque fois
  4. La taille des copiés / collés de scripts python externe à été porté à 16 ko contre environ 8 ko pour la version officielle.

Ces modifications codées par Jaochim Le Fournis nous permettent d’importer via un simple CTRL + V un script python rapidement et facilement, et ce sans se soucier des scripts python déjà présents, ni de la taille du script.

Design non flat / Design flat