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 print et for [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti Avatar de publiphobe
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2020
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : entrepreneur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2020
    Messages : 25
    Par d�faut probl�me print et for
    Bonjour tout le monde,

    j'aimerais r�aliser un petit exercice que j'ai invent�. Je vais tout de suite vous montrer le r�sultat attendu avant de vous en dire plus:

    ------------------------------
    tu as perdu Barbara !
    ------------------------------

    voil� j'aimerais �crire cette phrase, avec les tirets du dessus et d'en dessous qui font la m�me taille que la phrase, c'est � dire avec le m�me nombre de caract�res, et avec un nom pris au hasard dans une liste.

    j'ai essay� de faire �a avec len, mais �a a �t� inf�cond. Tu coup je me suis dit que j'allais essayer une autre m�thode dont voici le code:


    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
    17
    18
    19
     
    import random
     
    #je définis une liste de noms
     
    noms=['Alex', 'Sabine','Thomas', 'Barbara']
     
    #je définis la variable phrase et je lui attribue un nom au hasard de la liste 'noms'
     
    phrase=("t'as perdu " +  random.choice(noms))
     
    #pour chaque caractère, j'affiche un tiret horizontal.
     
    for x in (phrase):
        print('-', end='')
     
    #j'affiche la phrase
     
    print(phrase)

    et �videmment, j'obtiens:
    ------------------t'as perdu Barbara
    donc je ne sais pas comment m'y prendre.

    si quelqu'un de plus exp�riment� a une id�e, je suis preneur.

    Merci � vous.

  2. #2
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 770
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 770
    Par d�faut
    Salut,

    Citation Envoy� par publiphobe Voir le message
    si quelqu'un de plus exp�riment� a une id�e, je suis preneur.
    Et si vous observiez ce qu'il se passe?
    print('-', end='') affiche une suite de tirets sur la m�me ligne car end='' remplace le retour � la ligne (le d�faut) par rien. Le prochain "print" s'affichera sur la m�me ligne (puisqu'on n'est pas revenu au d�but de la ligne suivante).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti Avatar de publiphobe
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2020
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : entrepreneur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2020
    Messages : 25
    Par d�faut
    Citation Envoy� par wiztricks Voir le message
    Salut,



    Et si vous observiez ce qu'il se passe?
    print('-', end='') affiche une suite de tirets sur la m�me ligne car end='' remplace le retour � la ligne (le d�faut) par rien. Le prochain "print" s'affichera sur la m�me ligne (puisqu'on n'est pas revenu au d�but de la ligne suivante).

    - W
    Merci pour votre r�ponse.
    Effectivement, mais lorsque je ne mets pas end='', les tirets sont affich�s � la verticale.

    Je pourrais tr�s bien �crire, au dessus et en dessous de la phrase print(------------), mais selon la taille du pr�nom choisi al�atoirement, �a d�passera ou �a sera trop long. Donc pas tr�s esth�tique.

  4. #4
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan � 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    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 : 925
    Billets dans le blog
    8
    Par d�faut
    Citation Envoy� par publiphobe Voir le message
    Merci pour votre r�ponse.
    Effectivement, mais lorsque je ne mets pas end='', les tirets sont affich�s � la verticale.

    Je pourrais tr�s bien �crire, au dessus et en dessous de la phrase print(------------), mais selon la taille du pr�nom choisi al�atoirement, �a d�passera ou �a sera trop long. Donc pas tr�s esth�tique.
    Bonjour,
    Rajoute ligne 16

  5. #5
    Membre averti Avatar de publiphobe
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2020
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : entrepreneur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2020
    Messages : 25
    Par d�faut
    Citation Envoy� par Hominid� Voir le message
    Bonjour,
    Rajoute ligne 16
    Merci.
    En fait j'ai d�j� essay�, et �a me donne ceci:

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    t'as perdu Sabine

  6. #6
    Membre �m�rite

    Homme Profil pro
    Ing�nieur
    Inscrit en
    Ao�t 2010
    Messages
    662
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2010
    Messages : 662
    Par d�faut
    j'ai essay� de faire �a avec len, mais �a a �t� inf�cond.
    Pourtant, �a me semble �tre une bonne id�e. Que vous donne len(phrase) ? Au final vous voulez afficher n-fois le caract�re "-", avec n le nombre de lettres, non ? Dans ce cas print(len(phrase) * '-') devrait faire l'affaire.

    J

  7. #7
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan � 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    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 : 925
    Billets dans le blog
    8
    Par d�faut
    indent� comme ceci:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    for x in (phrase):
        print('-', end='')
    print()

  8. #8
    Membre averti Avatar de publiphobe
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2020
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : entrepreneur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2020
    Messages : 25
    Par d�faut
    Citation Envoy� par Hominid� Voir le message
    indent� comme ceci:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    for x in (phrase):
        print('-', end='')
    print()
    Ca fonctionne tr�s bien, merci beaucoup !
    En fait j'ai d�couvert len aujourd'hui, car je d�bute � peine le Python.
    Je m'�tais un peu emm�l� les pinceaux, avec ce que j'avais pu grappiller sur internet. Je ne pourrais pas vous dire exactement quel code j'avais tent�, mais dans tous les cas j'avais ce message d'erreur:

    TypeError: object of type 'int' has no len()
    en tout cas merci beaucoup pour votre aide.

  9. #9
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan � 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    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 : 925
    Billets dans le blog
    8
    Par d�faut
    Citation Envoy� par publiphobe Voir le message
    En fait j'ai d�couvert len aujourd'hui, car je d�bute � peine le Python.
    Bon apprentissage

  10. #10
    Membre averti Avatar de publiphobe
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2020
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : entrepreneur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2020
    Messages : 25
    Par d�faut
    Citation Envoy� par Julien N Voir le message
    Pourtant, �a me semble �tre une bonne id�e. Que vous donne len(phrase) ? Au final vous voulez afficher n-fois le caract�re "-", avec n le nombre de lettres, non ? Dans ce cas print(len(phrase) * '-') devrait faire l'affaire.

    J
    Effectivement, �a fonctionne aussi ! Merci.
    Je vais me pencher un peu plus sur ce fameux len.

  11. #11
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 770
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 770
    Par d�faut
    Salut,

    Citation Envoy� par publiphobe Voir le message
    Je vais me pencher un peu plus sur ce fameux len.
    Dans les tutos. on apprend la construction for i in range(len(phrase)) avant for x in phrase... et nombre d'exercices propos�s sont corrig�s.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [VBS][D�butant] Probl�me syntaxe boucle For
    Par _alex_ dans le forum VBScript
    R�ponses: 2
    Dernier message: 26/07/2006, 14h26
  2. probl�me dans boucle for de lecture de fichier ini
    Par chourmo dans le forum Delphi
    R�ponses: 3
    Dernier message: 06/07/2006, 09h31
  3. [batch]inventaire r�seau-probl�me de boucle "for"
    Par mathieu_r dans le forum Windows
    R�ponses: 1
    Dernier message: 23/06/2006, 20h17
  4. [Eval] Probl�me de boucle for sur des tableaux
    Par battle_benny dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 12/01/2006, 23h55
  5. [XML-XPATH] Probl�me dans un for each
    Par stailer dans le forum XSL/XSLT/XPATH
    R�ponses: 1
    Dernier message: 26/12/2005, 12h11

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