Grand débutant devant Python
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Grand débutant devant Python



  1. #1
    Tifoc

    Grand débutant devant Python


    ------

    Bonjour,

    Ma question s'adresse à des pédagogues et pas à des pro de Python !
    Je souhaite me mettre à ce langage de programmation dont on dit partout qu'il est simple et accessible (ceci pour développer des applications personnelles plus ou moins ludiques).
    Alors j'ai acheté trois bouquins. Le premier s'adresse à des élèves d'IUT, BTS, Licences, Ecoles d'Ingénieurs (prétentieux que je suis ); je n'ai pas dépassé le premier chapitre. Le second s'adresse à des "jeunes débutants de 7 à 97 ans"; je n'ai pas plus compris . Je me suis enfin rabattu sur cette célèbre édition dont tous les ouvrages ont une jaquette jaune avec un tableau noir en travers (vous voyez...?); j'ai lu toutes les pages de la première partie (4 chapitres) et j'en suis au même point .
    J'ai trois hypothèses : 1) je suis une grosse bille - 2) tous ces spécialistes sont incapables de s'expliquer correctement - 3) il y a juste un point de blocage (lié à ma propre "culture") qui coince.
    Si je demande de l'aide ici, c'est que j'envisage la 3...
    Petite précision à la suite de laquelle vous allez peut-être quitter ce post atterrés ou rigolards : dans un passé assez lointain, j'ai programmé en basic (le tout premier), en turbo-Pascal, en C++ et ce sur PC et Mac et pour des applications industrielles...! C'est aussi pour ça que j'envisage (j'espère) l'hypothèse 3.
    (Et pardon pour cette intro un peu longue, mais c'est pour que vous saisissiez bien la situation).

    Alors disons que je souhaite créer une petite application comme celle-ci :
    - Elle s'appelle "rien.py" et je peux y accéder par un raccourci sur le bureau.
    - Elle ouvre une fenêtre...
    - ... dans laquelle elle me dit quel jour on est.
    - Elle me demande un chiffre entre 1 et 10.
    - Elle le multiplie par 2 et me donne le résultat.
    - Elle me demande si je souhaite continuer.
    - Si je réponds "oui", elle me redemande un chiffre, si "non" elle se ferme.
    Voilà, c'est tout... et je ne sais pas faire.

    Y a-t-il une âme charitable ?

    -----

  2. #2
    Gwinver

    Re : Grand débutant devant Python

    Bonjour.

    Personnellement, j'ai aimé ce livre :

    https://www.amazon.fr/Python-Apprend...ps%2C73&sr=8-1

    Sinon, beaucoup de matière sur ce site :
    https://python.developpez.com
    Dernière modification par Gwinver ; 04/01/2024 à 11h59.

  3. #3
    pm42

    Re : Grand débutant devant Python

    Citation Envoyé par Tifoc Voir le message
    ngue, mais c'est pour que vous saisissiez bien la situation).

    Alors disons que je souhaite créer une petite application comme celle-ci :
    - Elle s'appelle "rien.py" et je peux y accéder par un raccourci sur le bureau.
    - Elle ouvre une fenêtre...
    - ... dans laquelle elle me dit quel jour on est.
    - Elle me demande un chiffre entre 1 et 10.
    - Elle le multiplie par 2 et me donne le résultat.
    - Elle me demande si je souhaite continuer.
    - Si je réponds "oui", elle me redemande un chiffre, si "non" elle se ferme.
    Il y a 3 étapes :
    - écrire l'application en mode texte en Python. Cela permet d'apprendre le langage
    - écrire la version graphique de l'application : il faut utiliser une librairie comme Tkinter qui te permettra de créer une fenêtre avec des composants pour demander le chiffre, afficher le résultat, etc
    - faire en sorte que cela se lance depuis un raccourci sur le bureau : c'est potentiellement plus compliqué et dépend du système d'exploitation mais il faut avoir fait les 2 étapes précédentes de toute manière

  4. #4
    polo974

    Re : Grand débutant devant Python

    il y a LA GRANDE DIFFÉRENCE entre la plupart des langages et python:
    la mise en page du code:
    par exemple un des pires exemples est le javascript "minifié": on arrive à mettre tout une lib sur une seule ligne de code. c'est l'horreur... (on peut aussi faire horrible en C, mais par endroit, on est quand même obligé de passer à la ligne, enfin, je crois...)

    en python, l'indentation est primordiale.
    un bloc de code n'est pas encadré par des accolades.
    un bloc de code doit avoir la même indentation (4 espaces, c'est quasi standard) hors sous blocs qui sont plus indentés.
    un espace de trop ou de moins et oups... et on ne mélange pas les tabulations avec les espaces.
    un bloc est précédé par une ligne finissant par le caractère ":"
    quand un bloc est fini, on revient au niveau d'indentation inférieur (celui donné par la ligne finissant par un ":")
    exemple:
    Code:
    for i in range(20):
        if i % 2:
            print("%2d impair" % i) 
        else:
            print("%4d pair" % i)
     Cliquez pour afficher


    bref, toute ligne contenant une directive (structure) de contrôle (if, while, for, else, try, except, ...) termine par ":" et annonce un nouveau niveau d'indentation (plus profond, of course).

    mais, bon, il y a sans doute d'autres trucs qui te chagrinent...

    déjà, tu travailles sous quel OS?
    as-tu l'habitude de développer du graphique?
    Jusqu'ici tout va bien...

  5. A voir en vidéo sur Futura
  6. #5
    Tifoc

    Re : Grand débutant devant Python

    C'était le numéro 1 de ma liste

    Citation Envoyé par Gwinver Voir le message
    Je connais aussi. Tiens je viens d'y aller voir, j'y ai trouvé une mini application qui calcul les PGCD, j'ai bien compris la logique (quand même !) je suis incapable de la re-programmer

    Citation Envoyé par pm42 Voir le message
    - écrire l'application en mode texte en Python. Cela permet d'apprendre le langage
    Je suis bien d'accord la dessus (et l'apprendre ne m'inquiète pas, je comprends les lignes de programmes que je trouve ici ou là). Mais on l'écrit ou et comment ??? Parce que déjà je ne comprends pas pourquoi IDLE n'a pas toujours la même apparence ni les mêmes menus ! (et je ne confonds pas avec l'invite de commande)

    Citation Envoyé par pm42 Voir le message
    - écrire la version graphique de l'application : il faut utiliser une librairie comme Tkinter qui te permettra de créer une fenêtre avec des composants pour demander le chiffre, afficher le résultat, etc
    Là tu me parles chinois...

    Citation Envoyé par pm42 Voir le message
    - faire en sorte que cela se lance depuis un raccourci sur le bureau : c'est potentiellement plus compliqué et dépend du système d'exploitation mais il faut avoir fait les 2 étapes précédentes de toute manière
    Ok, ça c'est secondaire pour l'instant

  7. #6
    Tifoc

    Re : Grand débutant devant Python

    Citation Envoyé par polo974 Voir le message
    Code:
    for i in range(20):
        if i % 2:
            print("%2d impair" % i) 
        else:
            print("%4d pair" % i)
    Je comprends parfaitement ce code (c'était même pas la peine de cacher la réponse ), mais je ne saurais pas l'implémenter (ou, et comment)

    Citation Envoyé par polo974 Voir le message
    déjà, tu travailles sous quel OS?
    Windows

    Citation Envoyé par polo974 Voir le message
    as-tu l'habitude de développer du graphique?
    J'ai eu fait...

  8. #7
    Gwinver

    Re : Grand débutant devant Python

    Je comprends parfaitement ce code (c'était même pas la peine de cacher la réponse ), mais je ne saurais pas l'implémenter (ou, et comment)
    Peux-tu expliquer cette remarque qui laisse supposer que le problème est l'environnement de développement

  9. #8
    Tifoc

    Re : Grand débutant devant Python

    Dans la fenêtre 1, j'ai écrit le programme. Au passage, note que je suis incapable d'effacer les lignes de code fausses (à cause de la position relative du else) . J'enregistre, et je sors.
    Fenêtre 2, j'ouvre le prog. La fenêtre de l'éditeur n'est plus la même, mais au moins j'ai un item RUN.
    La fenêtre 3 est le résultat de l'exécution... qui me renvoie à une erreur (surlignée dans la 2) qui ne vient pas de moi.
    Images attachées Images attachées  

  10. #9
    Biname

    Re : Grand débutant devant Python

    Salut,
    https://www.w3schools.com/python/default.asp
    Un cours en ligne bien fait pour débuter, il inclut des exemples modifiables et exécutable en ligne ... en anglais !

    chatGPT gratuit m'a donné le code demandé par ton 1er message en 10 secondes, simplement en lui collant ton texte, il est aussi un excellent professeur particulier d'une patience et d'un gentillesse infinie.

     Cliquez pour afficher

    Ce code n'est pas un code pour un débutant ! (les classes)

    Le problème avec Python est qu'il permet de zapper les bases sur les variables, les structures, ???

    Biname

  11. #10
    f6exb

    Re : Grand débutant devant Python

    Bonsoir,
    Pour un débutant, je trouve que l'IDE Thonny est très facile à utiliser.
    Seuls les faucons volent. Les vrais restent au sol.

  12. #11
    pm42

    Re : Grand débutant devant Python

    Citation Envoyé par Tifoc Voir le message
    La fenêtre de l'éditeur n'est plus la même
    Normal, ce n'est pas un éditeur mais un shell apparemment c'est à dire une fenêtre où on tape du Python et où c'est interprété immédiatement.
    Il est assez évident que d'avoir au début 2 lignes qui ne sont pas du code mais la référence du python utilisé et des instructions d'aide ne va pas marcher.

    Je ne connais pas IDLE mais cette différence entre les fenêtre d'édition et celles de shell est expliqué dans la doc.

    J'aurais tendance à recommander un IDE gratuit complet comme PyCharm Community Edition, Spyder ou autre pour avoir entre autre un débugger complet et pas mal d'autres outils utiles notamment à un débutant.

  13. #12
    Tifoc

    Re : Grand débutant devant Python

    Citation Envoyé par Biname Voir le message
    chatGPT gratuit m'a donné le code demandé par ton 1er message en 10 secondes, simplement en lui collant ton texte, il est aussi un excellent professeur particulier d'une patience et d'un gentillesse infinie.
    Je vais être direct : je m'en fout Mais je te remercie quand même pour cette proposition ! Mon objectif est d'abord de programmer, un peu comme d'autres aiment bien bricoler leur voiture mais n'aiment pas conduire. Quant à qualifier chatGPT d'excellent professeur... voir la première ligne de mon premier post

    Citation Envoyé par Biname Voir le message
    Ce code n'est pas un code pour un débutant ! (les classes)
    Le problème avec Python est qu'il permet de zapper les bases sur les variables, les structures, ???
    Je sais ce qu'est une variable et la notion de structure évoque encore qqchose dans mon esprit Par contre, les classes...
    Mais bon, je devine que ce sont des notions qui interviennent au fur et à mesure de l'apprentissage, et ça ne m'effraie pas. Ce que je voudrais pour l'instant, c'est démarrer !

    Citation Envoyé par pm42 Voir le message
    Normal, ce n'est pas un éditeur mais un shell apparemment c'est à dire une fenêtre où on tape du Python et où c'est interprété immédiatement.
    Il est assez évident que d'avoir au début 2 lignes qui ne sont pas du code mais la référence du python utilisé et des instructions d'aide ne va pas marcher.
    Maintenant que tu le dis... mais je ne qualifierais pas ça d'évidence : pourquoi ces deux lignes dans une fenêtre qui permet d'accéder au RUN ?

    Citation Envoyé par pm42 Voir le message
    Je ne connais pas IDLE mais cette différence entre les fenêtre d'édition et celles de shell est expliqué dans la doc.
    J'ai bien trouvé cette explication en effet, mais elle ne concernait pas ces deux fenêtres là. Il y en a donc une troisième

    Citation Envoyé par pm42 Voir le message
    J'aurais tendance à recommander un IDE gratuit complet comme PyCharm Community Edition, Spyder ou autre pour avoir entre autre un débugger complet et pas mal d'autres outils utiles notamment à un débutant.
    Cela rejoint la remarque de Gwinver sur l'environnement de développement. Je vais essayer ça !

  14. #13
    Gwinver

    Re : Grand débutant devant Python

    Bonsoir.

    Au niveau environnement, il y a IDLE qui est le système natif en chargeant Pyhon (Python.org).

    La fenêtre de base est un interpréteur. Il faut entrer les lignes de code une par une, elles sont exécutées dès le retour chariot.
    Dans la barre d'outil du haut, il faut choisir "new file" dans "file" pour ouvrir une fenêtre pour écrire un code. Cette fenêtre a la commande run.

    Spyder démarre d'emblée avec 3 fenêtres (IDE) mais c'est paramétrable:
    une pour écrire le code avec la fonction run, l'éditeur comporte de l'aide pour éviter les bugs d'écriture.
    une pour les valeurs de variables,
    et une (console) pour les résultats et la saisie des lignes de code en mode interpréteur .

    C'est plus convivial que l'IDLE du Python de base.

  15. #14
    Biname

    Re : Grand débutant devant Python

    Dans "IDLE shell" de python, avec menu File/New_File, tu crées ton code dans un fichier qui est sauvé et tu l'exécutes avec "run", tu le retrouves après sous menu File/Recent_Files ou avec File/Open.

    Ajouter les problèmes des premiers pas en Python à ceux de la configuration d'une IDE rendent le démarrage plus difficile ? Avant de simplifier beaucoup, une IDE complique tout. Sauf si tu es déjà familier d'une IDE ?

  16. #15
    Tifoc

    Re : Grand débutant devant Python

    A y est : les trois derniers posts (#11, 13 14) et l'exemple de Polo au #4 m'ont permis de débloquer un premier problème
    Effectivement, une fois que c'est résolu, on se rend compte que c'était couillon
    Je vais rester avec IDLE (qui est "l'original" fourni) par principe (et plutôt que de commencer à ajouter des "modules" de droite et gauche).

  17. #16
    polo974

    Re : Grand débutant devant Python

    Quand je suis en ssh sur une machine, mon IDE, c'est vim dans un console bash
    Et un peu sed aussi...

    Blague à part, si j'ai caché le résultat, c'était juste pour prendre moins de place dans le fil.

    Ensuite, pour un projet, même simple, il faut le faire dans un dossier et utiliser git pour gérer les versions et surtout faire des commit. Ça permet de passer la marche arrière en cas d'une exploration d'une piste qui finit par décevoir.

    Pycharm, c'est un monstre de possibilités...

    Même VSCode est sympa (et ouvert sur d'autres langages):
    https://learn.microsoft.com/en-us/tr...nstall-vscode/
    https://www.datacamp.com/tutorial/se...-vscode-python

    Il y a pléthore d'addon (pas tous bons)...
    Jusqu'ici tout va bien...

Discussions similaires

  1. Python débutant
    Par JohannLiebert dans le forum Programmation et langages, Algorithmique
    Réponses: 13
    Dernier message: 10/11/2023, 19h39
  2. debutant sur Python
    Par NonoFut dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 30/12/2016, 10h35
  3. Python (débutant)
    Par Meadowlark dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 06/12/2012, 13h28
  4. Python débutant
    Par Meadowlark dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 20/11/2012, 13h19
  5. Debutant devant faire un montage électrique !
    Par Rafiti dans le forum Électronique
    Réponses: 10
    Dernier message: 30/03/2007, 19h19