Python c'est parti

Bon même si ça m'emmerde, autant y aller franchement et faire du python. Rien que l'installation commence à me faire vomir. J'ai téléchargé et installé python depuis le site officiel.

Première chose est ce que le choix de idle est judicieux ?
Si oui comment l'avoir en français ?
Les bibliothèques ne sont pas toutes installées par défaut, si sur mon poste ça a l'air jouable, est-ce que quelqu'un a une expérience en TSE ?
Dernier point, un truc en ligne ne serait-il pas le plus simple ?

«1

Réponses

  • Bonjour Cyrille,

    Sous linux, tu prends python3 dans les dépôts directement, non ?
    Idle pour des lycéens, pas certains que ce soit le meilleur des choix. En cpge, ils n'y a pas le choix, c'est idle. Pour le lycée, il y a Spyder qui est pas mal je trouve. Car tu as ton fichier, la console, l'explorateur de variables, de fichiers, l'aide, etc.

  • Je sais pas si ça peut être utile dans ton cas, mais je trouve le notebook+jupyter très pratique : https://jupyter.org/
    Tu as tout dans ton navigateur web et tu sais facilement revenir en arrière dans tes blocs de code.

  • Quand je bossais dans le privé, j'utilisais Pycharm : https://www.jetbrains.com/pycharm/download/#section=windows
    C'était vraiment super comme IDE :)

  • Je vous rappelle que ça s'adresse à des lycéens qui ne sont pas des flèches

  • @youen a dit :
    Je sais pas si ça peut être utile dans ton cas, mais je trouve le notebook+jupyter très pratique : https://jupyter.org/
    Tu as tout dans ton navigateur web et tu sais facilement revenir en arrière dans tes blocs de code.

    Je plussoie, c'est bien plus simple que PyCharm qui est complet, mais s'adresse à des développeurs.

    On utilise les deux au travail, dans Jupyter Notebook tu te contentes de dérouler le script.

    Les environnements c'est la plaie en Python, nous on gère les pagkages installés avec pip.

  • @cyrille a dit :
    Je vous rappelle que ça s'adresse à des lycéens qui ne sont pas des flèches

    Spyder alors

  • Dans mon établissement, les collègues du lycée utilisent edupython sous windows. En supérieur, ils prennent Spyder, sauf en cpge où c'est idle car c'est une obligation.
    Et moi, perso, c'est spyder.

  • Pour des professeurs de maths en lycée général - professionnel j'ai eu a installer, a leur demande, pyzo ainsi que anaconda pour avoir toutes les bibliothéques (ils souhaitaient utiliser miniconda pour avoir quelquechose de plus léger et de/installer à la demande les bibliothèques mais de part les restrictions de profil du domaine c'était ingérable).
    Tout est expliqué (en anglais malheureusement) sur le site de pyzo https://pyzo.org/

  • Les distributions Python/IDE c'est comme les distributions Linux/Gestionnaire de fenêtres ...

  • Edupython dans beaucoup d'établissements.

  • et du côté en ligne ? Et les autres IDE sont en français ?

  • quelle utilité de return ?

  • Spyder est en français, du moins sous linux.

    @cyrille a dit :
    quelle utilité de return ?

    Dans une fonction, il faut bien savoir ce que tu calcules
    def f1(x):
    y = x + 1

    def f2(x):
    y = x + 1
    return y

    f2(1) te renvoie 3, mais f1(1) te renvoie rien du tout

    source :
    http://www.jeuxvideo.com/forums/42-35-54069958-1-0-1-0-la-fonction-return-en-python-elle-sert-a-quoi.htm

  • et si je mets un print à la place de return ?

  • juillet 2019 modifié

    print est une fonction qui affiche quelque chose à l'écran mais qui ne retourne rien.

    Exemple
    def f1(x):
    y = x + 1
    print(y)

    def f2(x):
    y = x + 1
    return y

    Dans la console :
    f1(2)
    3

    f2(2)
    3

    donc f1 et f2 "affichent" ou "renvoient" bien la même chose. Mais :
    f1(2)==3
    False
    f2(2)==3
    True

    La première teste si f1(2) vaut bien 3 et là malheur, c'est faux à cause du print. Alors qu'avec return, c'est vrai.

  • juillet 2019 modifié

    Jupyter est le plus agréable à utiliser, et il est francisé, facile à installer sous linux.

    Concernant le return, tout dépend de l'utilité de ta fonction, mais honnêtement, dans ton cas, j'utiliserais un return pour que ta fonction retourne une valeur, ce qui sera cohérent avec la notion mathématique.

    En reprenant les deux exemples de xavier, si tu écris :

    monresultat1 = f1(1)
    monresultat2 = f2(1)

    Alors monresultat1 vaut None, tandis que monresultat2 vaut 2.
    Le print ne permet que d'afficher le résultat.

  • Pour tester Jupyter en ligne ( seulement en anglais je crois ), c'est par là : https://jupyter.org/try ( cliquer sur Try Classic Notebook pour ouvrir une session.

    Puis tu cliques sur le + pour ajouter une cellule, dans laquelle tu mets par exemple un print("hello mario"), puis un clic sur Run.

    Il y a beaucoup d'avantages à Jupyter, cela permet notamment de mettre plusieurs codes sur une même page et de les organiser.

    Pour info, chaque article sur mon site est écrit avec Jupyter.

  • De mon côté, sous linux j'utilise Spyder et surtout Jupyter notebook.

    Côté windows au lycée, j'utilise winpython qui ne nécessite quasiment pas d'installation, est bien plus léger qu'anaconda et offre d'un même coup python spyder, idle, jupyter lab et jupyter notebook.

    J'ai utilisé spyder et jupyter notebook de winpython en ISN et en ICN l'année dernière, je n'ai presque jamais eu de problème. Une seule fois pour ajouter la bibliothèque folium (cartographie) et seulement sur 2 des 6 ordinateurs portables qui complétaient 18 postes fixes en réseau. Je n'ai toujours pas compris. J'ai mis les 2 élèves concernés avec d'autres sur les postes fixes.

    Jupyter permet le mélange de textes d'explication et de blocs de code dans un même document sous firefox.

    Spyder outre l'aspect éditeur permet une visualisation des variables en mémoire que je trouve pratique, surtout quand il s'agit des métadonnées d'une photo numérique. Pas sûr que ce soit nécessaire en mathématiques.

    Comme en math, on n'a pas besoin de beaucoup de bibliothèques, il y a un logiciel simple qui peut très bien convenir à tes élèves, c'est mu.

    Si winpython n'était pas déjà installé dans mon lycée, je crois que je l'aurais choisi. Peut-être qu'il faut tenir compte de ce que contient le Barbazo que je ne connais pas.

  • dans le Barbazo on fait référence à matplotlib que je viens d'installer. En mono c'est déjà pas terrible du fait de pas avoir installé les variables d'environnement au départ, je crains un peu pour un environnement TSE.

  • matplotlib ne sert qu'à faire des représentations graphiques.

    Personnellement, en seconde :

    • pour représenter des fonctions, je fais utiliser les calculatrices et éventuellement geogebra en TD.
    • pour représenter des simulations et visualiser la fluctuation :
      • au début je fais faire ça avec un fichier tableur (ods) préparé à l'avance.
      • Une explication de random et de Maj+Ctrl+F9.
      • Une sélection multiple, un Ctrl+D pour remplir et le dessin apparaît.
      • quelques Maj+Ctrl+F9 pour simuler à nouveau doivent suffire.
      • En classe entière, je projette un fichier Geogebra qui en gardant les traces de l'évolution de la fréquence avec l'augmentation de la taille de l'échantillon fournit la plage ±1/√n que je n'aurai pas à introduire cette année, donc je le projetterai mais seulement pour que les élèves gardent en tête que la convergence est lente.

    En me basant sur un article de Mathématice, j'ai fait un fichier jupyter notebook qui utilise python chaque fois que le programme officiel indique qu'on peut l'utiliser.
    Je n'ai utilisé matplotlib que 3 fois.

    • Une fois pour représenter graphiquement une fonction, franchement ça n'a pas d'intérêt avec les autres outils dont on dispose.
    • les deux autres fois pour obtenir les dessins que je mentionnais avec le tableur et Geogebra.

    Donc on peut se passer de matplotlib en seconde à coup sûr. Je ne m'avancerais pas pour après.

    Je peux te passer le fichier jupyter dont je parle. Le format ne semble pas pris en charge par la gestion des pièces jointes.

  • Le tracé est pas dégueulasse. Les exercices d'algo par contre dans le Barbazo sont très abstraits j'ai vu un cahier d'algo je vais regarder sinon j'irai piocher les exercices ailleurs. Je reflechissais dans ma progression à faire une heure d'algo par semaine. Ça ferait 30 heures soit plus de 4 semaines. C'est trop. Comment places tu l'algo ?

  • Je trouve que jupyter peut etre difficile a utilise par des eleves parceque'on ne voit pas les espaces et que, dans python, l'indentation est important.
    Dans n'importe quel code editor (VScode, spyder, ...) on peut les afficher, je ne sais pas si on peut faire ca sous jupyter.
    Vous voyez ce que je veux dire?

  • Oui, si on demande assez de points, c'est plutôt propre, mais pour représenter une fonction, avec Geogebra, tu as le zoom et tous les outils autour sans rien faire.

    Je fais une copier / coller depuis "La déprimante ..."

    Concernant la programmation :

    je vais commencer par des algorithmes "à la main" sur les premiers chapitres.
    - simulation avec une table de nombres aléatoires comme il y a x années.
    - Algorithme de balayage (décimaux) et de Héron (rationnels) pour approcher √2, en introduction aux réels.

    je ferai du python :
    pour comprendre un "tour de magie" et introduire le calcul littéral.
    sur la 2ᵉ partie de l'échantillonnage. Ça consistera à programmer les algos de simulations fait main de la première partie pour augmenter la taille des échantillons et calculer la proportion dans [p-1/√n;p+1/n] demandée dans le programme.
    en géométrie repérée : Je vais essayer de faire constituer progressivement une bibliothèque de fonctions des différents calculs sur les coordonnées.
    l'idée à terme serait de réussir à faire quelque chose comme ci-dessous en fin d'année et que les élèves fassent la démonstration de ce qu'ils observent (Varignon) :

    from ma_biblio_geometrie import milieu, vecteur
    from random import randint

    for i in range(10):

    A = (randint(-100, 100), randint(-100, 100))
    B = (randint(-100, 100), randint(-100, 100))
    C = (randint(-100, 100), randint(-100, 100))
    D = (randint(-100, 100), randint(-100, 100))
    M = milieu(A, B)
    N = milieu(B, C)
    O = milieu(C, D)
    P = milieu(D, A)
    print(vecteur(M, N) == vecteur(P, O))

    Et ce sera très bien si j'arrive à faire les 3 premiers points.

    Donc

    • essentiellement programmer des fonctions comme milieu() et vecteur() qui travaillent sur des coordonnées, histoire d'avoir une bibliothèque de géométrie analytique, même si je ne vais pas au bout.
      Python comprend A=(2, 3), il appelle la variable A un tuple. A[0] donne la 1ere coordonnée, etc.

    • Et puis faire une partie du programme pour ±1/√n et

    • tout à la fin le calcul de la moyenne et de l'écart-type d'une série dans une liste puis le calcul de la proportion de données dans m±2σ .

  • @Alain et aux autres.

    Effectivement edupython a l'air de ressortir sur pas mal de sites, par contre le logiciel n'a pas été mis à jour depuis 2018, donc curieusement je le sens pas.

    @Nono53 je verrais bien faire certains trucs en algo un peu pratique et qui évoque quelques trucs dans la tête des gamins, comme une programme qui calcule de façon automatique le théorème de Pythagore.

  • je viens de lancer edupython, je viens de prendre peur.

    @Nono53 je viens de regarder mu, il est effectivement très joli.

  • et en plus il comprend mathplotlib

  • De mémoire, Edupython a été fait par une communauté de profs d'Amiens qui a francisé python avec une bibliothèque (lycee.py je crois) et en utilisant pyScripter comme IDE .
    Lors du passage de python à la version 3, ils ont adapté leur bibliothèque et ont renommé AmiensPython en EduPython.

    Ça explique pourquoi ça n'évolue pas spécialement. En téléchargeant la bibliothèque, on peut reprendre les activités qu'il propose avec n'importe quelle version python 3.x et avec n'importe quel éditeur.

    Je maintiens que pour débuter simplement Mu me parait très bien.

    @Daimyo , c'est vrai mais Jupyter fait l'indentation automatiquement si on n'oublie pas ":"
    Il me semble que Spyder arrive à ajouter automatiquement ":" si on les oublie après un for ou un if ou ... mais il y a peut être quelque chose à paramétrer. Je ne sais plus exactement.

    @cyrille une fonction hypothenuse(a, b) ça me parait plus que possible, tout comme une coteDroit(hypo, a).
    Jupyter peut exporter un bloc note dans plusieurs format. Voici une version html des programmes python évoqués un peu plus haut. Ça n'a pas vocation a être utilisé avec les élèves, c'est juste une liste de programmes avec des commentaires que je me fais pour ne pas oublier.
    Dans Jupyter, chaque cellule In[] peut être évaluée (exécutée par python) et on obtient le résultat dans une cellule Out[]. Le lien étant du html pur, cette possibilité disparaît.

  • Cocasse de voir comment Windows n'est pas fait pour développer, du moins quand on ne fait pas de VB ou de .NET.

    Pour du Python sous Windows voici ce que j'aurais fait:

    • Installation de Debian via WSL (Windows Subsystem for Linux)
    • apt install python3

    Pour l'IDE c'est pas obligatoire, mais en ce moment tout le monde ne jure que par Visual Studio Code. Par contre ça bouffe beaucoup de ram, ton TSE va apprécier.

  • @src386

    plus mon problème. Je me pose en simple prof : j'ai besoin de python !

  • juillet 2019 modifié

    Un bon bouquin qui m'a mis le pied à l'étrier avec Python.
    Bon, c'est en Python 2, mais les différences avec Python 3 ne sont pas si énormes, mais bien chiantes.
    On ne le trouve plus sur Internet, mais comme c'est en GPL (comme quoi le libre, c'est bien) je pose une copie ici. En plus c'est en français (belge).

Connectez-vous ou Inscrivez-vous pour répondre.