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 :

print() : Affichage d'un espace inattendu


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut print() : Affichage d'un espace inattendu
    Bonjour,
    Soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> dic = {input('référence? ') : input("nom de l'article? ") for saisie in range(2)}
    référence? 123456
    nom de l'article? truc
    référence? 123dfrTT
    nom de l'article? Bidule
    >>> 
    >>> print(*(f"Référence de {dic[ref]} ok\n" if ref.isdigit() else f"Erreur la ref de {dic[ref]} doit être un chiffre!\n" for ref in dic))
    Référence de truc ok
     Erreur la ref de Bidule doit être un chiffre!
     
    >>>
    Je ne saisis pas d'où provient l'espace situé sur la dernière ligne de l'affichage de mon print.
    Qu'en est il?

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    C'est normal. C'est un générateur, et le "*" devant va provoquer plusieurs sorties du print comme print(chaine1, chaine2, ...) avec entre les chaines le séparateur par défaut sep=' ' (donc, espace). Et comme les chaines se terminent par '\n', ce séparateur interviendra au début de la chaine suivante.

    Pour supprimer cet espace, il suffit d'ajouter l'option sep='' (donc pas d'espace) à print:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print(*(f"Référence de {dic[ref]} ok\n" if ref.isdigit() else f"Erreur la ref de {dic[ref]} doit être un chiffre!\n" for ref in dic), sep='')

  3. #3
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Ah oui, merci.
    ... J'ai le cerveau embrumé ce matin ( comme tous les matins^^)

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

Discussions similaires

  1. Affichage de plusieurs espaces
    Par JauB dans le forum JSF
    Réponses: 3
    Dernier message: 07/01/2008, 12h55
  2. DIV IMG et espace inattendu
    Par tom42 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/09/2007, 10h42
  3. Espacement inattendu
    Par yphridon dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 05/09/2007, 08h45
  4. espacement inattendu entre balise LI sous IE
    Par bitbis dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 30/11/2006, 09h15
  5. Affichage Données avec Espace ds Zone Texte
    Par dai.kaioh dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h43

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