IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

certain code du tuto ne fonctionne pas


Sujet :

Python

  1. #1
    Candidat au Club
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Par défaut certain code du tuto ne fonctionne pas
    bonjour.
    je suis en train d’étudier le tutoriels de python et il y a quelques code
    qui ne exécute pas.
    si une personne bienveillante pourrai prendre la peine de mettre une lumière sur les codes en question

    le premier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> a = 0
    >>> if a > 0 :
    ...     print "a est positif"
    ... elif a < 0 :
    ...     print "a est négatif"
    ... else:
    ...     print "a est nul"
    ...
    merci

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 049
    Par défaut
    Bonjour,

    Attention à votre titre, les codes des tutoriels qui sont testés depuis des années ne sont pas corrects?

    Soyons modestes, l'erreur vient bien de ton entrée de code.

    Tu es sûrement en version 3 de python, et ton tutoriel est prévu pour la version 2.x python, il faut donc voir les changements appliqués entre la version 2 et la version 3.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> a = 0
    >>> if a > 0 :
    ...     print("a est positif")
    ... elif a < 0 :
    ...     print("a est négatif")
    ... else:
    ...     print("a est nul")
    ...
    Edit : Ton code était donc fonctionnel avec la version 2.x

  3. #3
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    C'est une bonne chose toutefois de le signaler puisque pour les cours et tutoriels pour apprendre Python, la version pour Python 3 existe : Apprendre à programmer avec Python 3 par Gérard Swinnen (de même que Plongez au coeur de Python ).
    Faire cohabiter les deux ne serait pas une mauvaise idée.

    @+

  4. #4
    Candidat au Club
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Par défaut bonjour,
    merci de m'avoir éclairer.
    Y a t-il une façon de faire cohabiter les versions python?
    si oui, cela ne devrais pas générer d'erreur ou voire des bugs?

    encore merci a vous

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 43
    Par défaut
    Bonjour,

    Quel tutoriel lisez-vous ?

    Dans les cours et tutoriels Python, je conseils surtout celui-ci à toutes les personnes débutants en programmation : Apprendre à programmer avec Python 3 par Gérard Swinnen

    [edit] On ne peut pas faire cohabiter les syntaxes de python 2 et 3 dans un même script. Il faut choisir une version et s'y tenir. Beaucoup conseilleront Python 2 pour la simple raison qu'il est stable et blindé de bibliothèque en tous genres contrairement à Py3k.

    Personnellement je suis fan de Py3k.

  6. #6
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Citation Envoyé par PsycoPy Voir le message
    [edit] On ne peut pas faire cohabiter les syntaxes de python 2 et 3 dans un même script.
    Si les différences sont connues (c'est toujours du Python quand même...) je ne vois pas le souci. Perso j’essaye de présenter du code compatible Python 2/3 dans mes réponses sur le forum.
    Quant a installer les deux pas de soucis non plus.

    @+ et bonne découverte.

    Edit:
    A signaler dans ce sens la contribution de N.tox

    @++

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 067
    Par défaut
    Citation Envoyé par vassilidus Voir le message
    merci de m'avoir éclairer.
    Y a t-il une façon de faire cohabiter les versions python?
    si oui, cela ne devrais pas générer d'erreur ou voire des bugs?

    encore merci a vous
    sys.stdout fonctionne pour les 2 versions ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> from sys import stdout
    >>> a = 0
    >>> if a > 0 :
    ...      stdout.write("a est positif")
    ... elif a < 0 :
    ...     stdout.write("a est négatif")
    ... else:
    ...     stdout.write("a est nul")

  8. #8
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 049
    Par défaut
    Certains modules ne sont tout de même pas compatibles << encore >> avec la version 3.x

    Là par contre on ne peut rien faire, il faut repasser en version 2.x

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 43
    Par défaut
    @PauseKawa: C'est vrai que l'on peut, dans certains cas, faire en sorte que le script soit portable d'une version à l'autre. Notamment en se servant du module __future__. Mais ce n'est pas un mélange des syntaxes et ça ne résout pas tous. Autre que le print qui n'est plus une instruction mais une fonction avec Python 3, il y a aussi la syntaxe de except qui change (la virgule est remplacé par as). Il y a aussi les objets built-ins qui change beaucoup, l'utilisation des méthodes et attributs spéciaux, etc... Enfin bref, bien que la syntaxe ne soit pas ce qui change le plus, ce n'est pas simple de coder un script portable. Par exemple, PyOpenGL nécessitera surement deux implémentations pour être compatible avec les versions 2 et 3 de Python (enfin, je crois).

    Merci pour le lien. En effet sur Windows j'avais pas mal de soucis pour faire fonctionner deux versions de Python en même temps. Mais c'est encore trop lourd par rapport à l'utilisation de Python sous Linux.

  10. #10
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Certains modules ne sont tout de même pas compatibles << encore >> avec la version 3.x

    Là par contre on ne peut rien faire, il faut repasser en version 2.x
    Et il ne manque parfois pas grand chose
    La plupart du temps c'est dans les print et gestion des exceptions...

Discussions similaires

  1. [AC-2000] Mon code avec OpenRecordset ne fonctionne pas
    Par nomade333 dans le forum VBA Access
    Réponses: 4
    Dernier message: 06/04/2009, 19h37
  2. [AJAX] Exemples du tuto ne fonctionnant pas
    Par dimi2 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/06/2008, 11h50
  3. Code php qui ne fonctionne pas
    Par bachir008 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2007, 10h17
  4. [AJAX] Code tuto Ajax fonctionne pas sous FF, mais IE et OP sont OK
    Par hugo69 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 08/01/2007, 21h27
  5. Réponses: 6
    Dernier message: 23/12/2006, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo