PHWinfo

PHWinfo (http://www.phwinfo.com/forum/)
-   fr.comp.lang.python (http://www.phwinfo.com/forum/fr-comp-lang-python/)
-   -   chtite question sur print... (http://www.phwinfo.com/forum/fr-comp-lang-python/214440-chtite-question-sur-print.html)

Bruno Desthuilliers 17/09/2007 09h53

Re: chtite question sur print...
 
fred a écrit :
> Bruno Desthuilliers <bruno.42.desthuilliers@wtf.websiteburo.oops.com > a écrit :
>
>
>>Maintenant, si tu nous expliquait plus précisément ton problème - en
>>bref, pourquoi print 'ab' n'est pas accepté -, on pourrait peut-être
>>t'aider plus efficacement...

>
> Bon, ok.
> Je pose cette question, juste par curiosité, pour savoir si c'est possible.


En utilisant sys.stdout.write, oui. D'ailleurs, print disparaît dans
py3k, donc...

fred 17/09/2007 16h11

chtite question sur print...
 

Bonjour,

La question est on ne peut plus simple,
et est parfaitement illustrée par l'exemple suivant.

En deux commandes print, je veux afficher deux str sur la même ligne,
mais non séparée par un blanc.

marsu[pts/0]:~/{24}/> ipython
Python 2.5.1 (r251:54863, Sep 11 2007, 15:22:28)
Type "copyright", "credits" or "license" for more information.

IPython 0.8.2.svn.r2750 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
-> Python's own system.
object? -> Details about 'object'. ?object also works, ?? prints more.

marsu[17:08:58]:~/{1}/> print 'a',; print 'b'
a b

Je voudrais obtenir

ab

et non

a b

Une idée ?

Merci d'avance.

PS: la réponse

print 'ab'

n'est pas acceptée ;-)

--
http://scipy.org/FredericPetit

Jerome 17/09/2007 16h39

Re: chtite question sur print...
 
fred wrote:
> Bonjour,
>
> La question est on ne peut plus simple,
> et est parfaitement illustrée par l'exemple suivant.
>
> En deux commandes print, je veux afficher deux str sur la même ligne,
> mais non séparée par un blanc.
>
> marsu[pts/0]:~/{24}/> ipython
> Python 2.5.1 (r251:54863, Sep 11 2007, 15:22:28)
> Type "copyright", "credits" or "license" for more information.
>
> IPython 0.8.2.svn.r2750 -- An enhanced Interactive Python.
> ? -> Introduction and overview of IPython's features.
> %quickref -> Quick reference.
> -> Python's own system.
> object? -> Details about 'object'. ?object also works, ?? prints more.
>
> marsu[17:08:58]:~/{1}/> print 'a',; print 'b'
> a b
>
> Je voudrais obtenir
>
> ab
>
> et non
>
> a b
>
> Une idée ?
>
> Merci d'avance.
>
> PS: la réponse
>
> print 'ab'
>
> n'est pas acceptée ;-)
>



Bonjour,
apparement c'est le fonctionnement normal

http://www.python.org/doc/current/ref/print.html

A space is written before each object is (converted and) written, unless
the output system believes it is positioned at the beginning of a line.

fred 17/09/2007 16h43

Re: chtite question sur print...
 
Jerome <jerome@nospam.com> a écrit :

> Bonjour,
> apparement c'est le fonctionnement normal
>
> http://www.python.org/doc/current/ref/print.html
>
> A space is written before each object is (converted and) written,
> unless the output system believes it is positioned at the beginning of
> a line.

Arf, je ne dis pas le contraire.
Je voudrais juste faire le contraire :-)

--
http://scipy.org/FredericPetit

Bruno Desthuilliers 17/09/2007 17h11

Re: chtite question sur print...
 
fred a écrit :
> Bonjour,
>
> La question est on ne peut plus simple,
> et est parfaitement illustrée par l'exemple suivant.
>
> En deux commandes print, je veux afficher deux str sur la même ligne,
> mais non séparée par un blanc.


pourquoi "en deux commandes print" ?

> marsu[pts/0]:~/{24}/> ipython
> Python 2.5.1 (r251:54863, Sep 11 2007, 15:22:28)
> Type "copyright", "credits" or "license" for more information.
>
> IPython 0.8.2.svn.r2750 -- An enhanced Interactive Python.
> ? -> Introduction and overview of IPython's features.
> %quickref -> Quick reference.
> -> Python's own system.
> object? -> Details about 'object'. ?object also works, ?? prints more.
>
> marsu[17:08:58]:~/{1}/> print 'a',; print 'b'
> a b
>
> Je voudrais obtenir
>
> ab
>
> et non
>
> a b
>
> Une idée ?


1/ print 'ab'

> PS: la réponse
>
> print 'ab'
>
> n'est pas acceptée ;-)


Non ?-)

Bon, alors:

2/ print "%s%s" % ('a', 'b')

Non plus ?-)

3/
a = 'a'
# code ici
b = 'b'
# code ici encore si besoin
print "%s%s" % (a, b)

4/
vars = ['a']
# code ici
vars.append('b')
# code ici encore si besoin

print "".join(vars)


5/
import sys
write = sys.stdout.write

# code ici
write('a')

# code ici aussi, sinon
# je ne vois pas le but
# de la maneuvre
write('b')

# peut être encore du code ici...
write('\n')


Maintenant, si tu nous expliquait plus précisément ton problème - en
bref, pourquoi print 'ab' n'est pas accepté -, on pourrait peut-être
t'aider plus efficacement...

fred 17/09/2007 17h49

Re: chtite question sur print...
 
Bruno Desthuilliers <bruno.42.desthuilliers@wtf.websiteburo.oops.com > a écrit :

> Maintenant, si tu nous expliquait plus précisément ton problème - en
> bref, pourquoi print 'ab' n'est pas accepté -, on pourrait peut-être
> t'aider plus efficacement...

Bon, ok.
Je pose cette question, juste par curiosité, pour savoir si c'est possible.
Si ce n'est pas possible, pas de problème, je sais faire autrement.
Je vais d'ailleurs revoir mon truc et faire autrement.
J'ai trouvé mieux.

Merci quand même.

--
http://scipy.org/FredericPetit

fred 17/09/2007 18h37

Re: chtite question sur print...
 
fred <fredantispam@free.fr> a écrit :

Ceci dit, pour me répondre à moi personnellement, je viens de penser à
ça à l'instant :

print 'a'; print '\bb'

Et ça le fait ;-)


--
http://scipy.org/FredericPetit

Cémoi 19/09/2007 19h46

Re: chtite question sur print...
 
fred a écrit :
> Bonjour,
>
> La question est on ne peut plus simple,
> et est parfaitement illustrée par l'exemple suivant.
>
> En deux commandes print, je veux afficher deux str sur la même ligne,
> mais non séparée par un blanc.
>


Je détourne un peu ta question, mais si tu afficher sans blanc 2 chaines
qui peuvent être soit sous forme littérale ('a', 'b', ...) soit sous
forme de variables, voilà une solution propre et pythonesque, mais je
pense que tu connais par cœur la réponse:

>>> a, b = 'a', 'b'
>>> print a + b

ab

>>> print 'a' + 'b'

ab

Si tu veux absolument utiliser 2 print, je n'ai pas mieux à te proposer
que ce que Bruno a posté.
Voilà, en espérant que ça puisse aider,

Laurent


Fuseau horaire GMT +1. Il est actuellement 06h28.

Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Ad Management by RedTyger

Page generated in 0,62340 seconds with 8 queries