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 :

tracas de débutants


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Par défaut tracas de débutants
    Je débute en python, je suis sous python 2.7 (ubuntu) et j'ai des soucis avec print:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #! /usr/bin/env python
     
    def afficheNumType (num):
        print (num,"est"),
        if isinstance(num,(int, float,complex)):
             print ("un nombre du type :", type(num).__name__)
        else:
             print('Tout sauf un nombre!!!')
    afficheNumType(-69)
    afficheNumType(99999999999999999999999999999999999)
    afficheNumType(-5.2+3j)
    afficheNumType('xxx')
    1.Je n'arrive pas à obtenir sur la même ligne :"-69 est un nombre du type : int" C'est sur 2 ligne!!!
    2. le compilateur ne veut pas m'accepter le type long??
    Merci

  2. #2
    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,

    Le code présenté c'est du Python 3.x (print deviens une fonction > print()). En Python 2.x cela donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #! /usr/bin/env python
    # - * - Coding: UTF-8 - * -
    #
    #
     
    def afficheNumType(num):
        print num, "est",
        if isinstance(num, (int, float, long, complex)):
            print "un nombre du type :", type(num).__name__
        else:
            print "Tout sauf un nombre!!!"
     
    afficheNumType(-69)
    afficheNumType(99999999999999999999999999999999999)
    afficheNumType(-5.2+3j)
    afficheNumType('xxx')
    Le même code en Python 3.x:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def afficheNumType(num):
        print(num, "est", end=" ")  # end=" " remplace le saut de ligne par un espace.
        if isinstance(num, (int, float, complex)):
            print("un nombre du type :", type(num).__name__)
        else:
            print("Tout sauf un nombre!!!")
     
    afficheNumType(-69)
    afficheNumType(99999999999999999999999999999999999)
    afficheNumType(-5.2+3j)
    afficheNumType('xxx')
    Vous remarquerez aussi que le type long disparais (même lien).

    Une autre solution est d'utiliser le sdtout via le module sys:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import sys
     
    def afficheNumType(num):
        sys.stdout.write("%s est " % str(num))
        if isinstance(num, (int, float, complex)):
            sys.stdout.write("un nombre du type : %s\n" % type(num).__name__)  # "\n" c'est le saut de ligne
        else:
            sys.stdout.write("Tout sauf un nombre!!!\n")
     
    afficheNumType(-69)
    afficheNumType(99999999999999999999999999999999999)
    afficheNumType(-5.2+3j)
    afficheNumType('xxx')
    @+

  3. #3
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Par défaut
    Merci, PauseKawa.
    Très clair vos explications.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  2. [Kylix] Re Re: débutant sur Kylix et Linux.....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/06/2002, 22h53
  3. [Kylix] Le débutant en Kylix et Linux....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 10h37
  4. Réponses: 3
    Dernier message: 07/05/2002, 16h06
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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