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 :

problème avec 'print'


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut problème avec 'print'
    Bonjour tout le monde,
    Je découvre l'utilisation de python 3.0 et j'ai un petit problème. Quand j'introduis l'instruction print dans une de mes boucles, il me retourne les infos en colonne et non plus en ligne comme avec python 2.5. Pouvez-vous m'aider ?
    Voici mon script ci-joint.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    a = 1                     
    while (a<21):    
        t = a*7
        print (t),               
        if ((a*7)%3==0):   
            print ('*'),        
        a=a+1
    Merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Dans la version 3 de Python, il ne suffit plus de mettre une virgule après le print pour éviter le passage à la ligne. A la place, tu dois fournir un paramètre à la méthode. C'est d'ailleurs bien plus clair je trouve :p

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print("Mon texte", end="")
    Tu peux remplacer end par ce que tu veux bien sur. La valeur par défaut est la fin de ligne, qui dépend de l'os.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    Merci pour ta réponse rapide. Il y a jute une chose que je ne comprend pas. Tu dis que je peux remplacer 'end'. Que veux tu dire ? Aurais-tu des exemples ?
    Merci pour ton aide

  4. #4
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Dans les versions précedentes, print ajoutait automatiquement un retour à la ligne ('\n') en fin de ligne ou un espace si on terminait le ligne d'instruction par une virgule ; dans python 3 on peut mettre ce qu'on veut à la fin, un espace par exemple, comme l'a fait Antoine_935, c'est tout.

    Un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    print('un',end='foo')
    print('deux')
     
    #afficherait
    unfoodeux

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    OK. Merci à tous les deux pour votre aide.
    Bonne Journée.

  6. #6
    Invité de passage
    Inscrit en
    Mai 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1
    Par défaut slt
    Salut!
    Moi lorsque je code ceci par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> a = 0
    >>> while a < 12:
    ...     a = a +1
    ...     print a , a**2 , a**3
    J'obtiens un message d'erreur de syntaxe de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SyntaxError: invalid syntax (<pyshell#12> line 1)
    qu'en dites vous??
    Merci pour vos apports

  7. #7
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    TU utilise sûrement python 3, or dans les versions antérieures, print était un statement, maintenant c'est une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #python 3 et >
    print('un texte')
    #python 2.x ou 1.x
    print 'un texte'

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

Discussions similaires

  1. Problème avec la fonction print
    Par Spinoza23 dans le forum Débuter
    Réponses: 6
    Dernier message: 11/09/2009, 11h04
  2. Problème avec la fonction print
    Par Gébix dans le forum Octave
    Réponses: 7
    Dernier message: 28/10/2008, 14h05
  3. problème avec css print
    Par flambyture dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 02/05/2008, 12h52
  4. Problème avec print Fout
    Par Mimiche dans le forum Langage
    Réponses: 9
    Dernier message: 08/01/2008, 09h05
  5. [VBA-E] problème avec la fonction print#
    Par phoon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/03/2006, 09h51

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