[Tutor PyCZ] Re:Print
petr babicka
babcca na seznam.cz
Čtvrtek Listopad 24 11:41:44 CET 2005
> ------------ Puvodni zprava ------------
> Od: <tutor-request na py.cz>
> Predmet: Tutor Digest, Vol 6, Issue 5
> Datum: 22.11.2005 11:58:49
> ----------------------------------------
> Příspěvky do konference Tutor zasílejte na adresu:
> tutor na py.cz
>
> Pro přihlášení nebo odhlášení použijte WWW rozhraní na adrese"
> http://www.py.cz/mailman/listinfo/tutor
> nebo použijte elektronickou poštu, zašlete slovo help v těle dopisu na
> adresu
> tutor-request na py.cz
>
> Správce konference můžete nalézt na adrese
> tutor-owner na py.cz
>
> Když budete odpovídat na příspěvek, změňte, prosím, Subject: na něco
> rozumnějšího než je: "Re: Contents of Tutor digest..."
>
>
>
> Dnešní menu:
>
> 1. print bez uvodni mezery (Jaroslav Vysoky)
> 2. Re: print bez uvodni mezery (geon)
> 3. RE: print bez uvodni mezery (Petr Prikryl)
> 4. RE: print bez uvodni mezery (Petr Prikryl)
> 5. RE: print bez uvodni mezery (Jaroslav Vysoky)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 22 Nov 2005 10:18:40 +0100
> From: "Jaroslav Vysoky" <vysoky na borka.cz>
> Subject: [Tutor PyCZ] print bez uvodni mezery
> To: "'Konference Tutor portalu PyCZ'" <tutor na py.cz>
> Message-ID: <003f01c5ef45$baf1d540$0901a8c0 na jarda>
> Content-Type: text/plain; charset="iso-8859-2"
>
> Existuje způsob, jak přinutit PRINT, aby nevkládal před tištěný objekt
> (není-li na začátku řádku) úvodní mezeru? Pochopitelně to můžu obejít
> naskládáním výstupu do řetězce, ale je mi divný, že by to nešlo...
>
> Odpusťte začátečníkovi!
>
> Předem díky!
>
> Jarda V.
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Tue, 22 Nov 2005 10:35:04 +0100
> From: geon <geon na post.cz>
> Subject: Re: [Tutor PyCZ] print bez uvodni mezery
> To: Konference Tutor portalu PyCZ <tutor na py.cz>
> Message-ID: <4382E648.10807 na post.cz>
> Content-Type: text/plain; charset=ISO-8859-2; format=flowed
>
> Jaroslav Vysoky napsal(a):
>
> >Existuje způsob, jak přinutit PRINT, aby nevkládal před tištěný objekt
> >(není-li na začátku řádku) úvodní mezeru?Pochopitelně to můžu obejít
> >naskládáním výstupu do řetězce, ale je mi divný, že by to nešlo...
> >
> >
> ano, nejde, naskládáním do řetězce ("ahoj" + " svete" + "!") je
> nejjednodusší a nejelegantnější způsob
>
> >Odpusťte začátečníkovi!
> >
> >
> >
> Není co odpouštět :-) Toto JE forum pro absolutní začátečníky, nebo pro
> ty, kteří se tak cítí ;-)
>
> geon
>
>
>
> ------------------------------
>
> Message: 3
> Date: Tue, 22 Nov 2005 10:57:31 +0100
> From: "Petr Prikryl" <PrikrylP na skil.cz>
> Subject: RE: [Tutor PyCZ] print bez uvodni mezery
> To: "Konference Tutor portalu PyCZ" <tutor na py.cz>
> Message-ID:
> <E8AE1CAFC84D634A9CCC887B8AAB15EC03DDEE na skil01.skil.mistni>
> Content-Type: text/plain; charset="iso-8859-2"
>
>
>
> Jaroslav Vysoky...
> [...]
> > Existuje způsob, jak přinutit PRINT, aby nevkládal před tištěný objekt
> > (není-li na začátku řádku) úvodní mezeru? Pochopitelně to můžu obejít
> > naskládáním výstupu do řetězce, ale je mi divný, že by to nešlo...
>
> print je tak udělaný proto, protože většinou
> se takové chování hodí. Mezeru vkládá jakoby
> čárka pro oddělování parametrů příkazu print.
> Místo čárky můžu použít plus '+' a pak se
> parametry zřetězí. Pokud to ovšem nejsou řetězce,
> musím je přes str() na řetězce převést:
>
> >>> print 'a', 'b', 'c', 123
> a b c 123
> >>> print 'a' + 'b' + 'c' + str(123)
> abc123
>
> Pokud by bylo řetězených hodnot moc,
> bývá lepší si je předem naskládat
> do seznamu a ten pak najednou zřetězit.
> V takovém případě se zase musím postarat
> o to, aby řetězené části byly řetězce:
>
> >>> L = ['a', 'b', 'c', 123]
> >>> L
> ['a', 'b', 'c', 123]
> >>> print ' '.join(L)
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> TypeError: sequence item 3: expected string, int found
>
>
> Parametrem metody join() zabudovaného
> řetězcového typu je oddělovací řetězec.
> Příklad:
>
> >>> L = ['a', 'b', 'c', str(123)]
> >>> L
> ['a', 'b', 'c', '123']
> >>> print '|'.join(L)
> a|b|c|123
> >>> print ''.join(L)
> abc123
>
> Pokud potřebuji vypisovat text postupně
> (například v cyklu]), pak nemůžu použít
> příkaz print, který mi tam vždycky
> přidá alespoň mezeru nebo konec řádku.
> V takovém případě musím použít klasický
> výpis do souboru, v tomto případě na
> sys.stdout:
>
> import sys
> sys.stdout.write('a')
> sys.stdout.write('b')
> sys.stdout.write('c')
> sys.stdout.write(str(123))
>
> Výsledkem bude 'abc123'.
>
> pepr
>
>
> ------------------------------
>
> Message: 4
> Date: Tue, 22 Nov 2005 11:19:54 +0100
> From: "Petr Prikryl" <PrikrylP na skil.cz>
> Subject: RE: [Tutor PyCZ] print bez uvodni mezery
> To: "Konference Tutor portalu PyCZ" <tutor na py.cz>
> Message-ID:
> <E8AE1CAFC84D634A9CCC887B8AAB15EC03DDF2 na skil01.skil.mistni>
> Content-Type: text/plain; charset="iso-8859-2"
>
> Opravuji se...
> > Parametrem metody join() zabudovaného
> > řetězcového typu je oddělovací řetězec.
> > Příklad:
> >
> > >>> L = ['a', 'b', 'c', str(123)]
> > >>> L
> > ['a', 'b', 'c', '123']
> > >>> print '|'.join(L)
> > a|b|c|123
> > >>> print ''.join(L)
> > abc123
>
> Oddělovač není parametrem metody join(),
> ale vystupuje jako řetězcový objekt,
> jehož metodu join() voláme. Na první pohled
> to sice může vypadat nezvykle, ale je
> to logické.
>
> pepr
>
>
> ------------------------------
>
> Message: 5
> Date: Tue, 22 Nov 2005 11:50:49 +0100
> From: "Jaroslav Vysoky" <vysoky na borka.cz>
> Subject: RE: [Tutor PyCZ] print bez uvodni mezery
> To: "'Konference Tutor portalu PyCZ'" <tutor na py.cz>
> Message-ID: <004201c5ef52$9a1a78b0$0901a8c0 na jarda>
> Content-Type: text/plain; charset="iso-8859-2"
>
> Díky všem!
>
> Je to jasné.
>
> Jarda V.
>
>
> -----Original Message-----
> From: tutor-bounces na py.cz [mailto:tutor-bounces na py.cz]On Behalf Of Petr
> Prikryl
> Sent: Tuesday, November 22, 2005 11:20 AM
> To: Konference Tutor portalu PyCZ
> Subject: RE: [Tutor PyCZ] print bez uvodni mezery
>
>
> Opravuji se...
> > Parametrem metody join() zabudovaného
> > řetězcového typu je oddělovací řetězec.
> > Příklad:
> >
> > >>> L = ['a', 'b', 'c', str(123)]
> > >>> L
> > ['a', 'b', 'c', '123']
> > >>> print '|'.join(L)
> > a|b|c|123
> > >>> print ''.join(L)
> > abc123
>
> Oddělovač není parametrem metody join(),
> ale vystupuje jako řetězcový objekt,
> jehož metodu join() voláme. Na první pohled
> to sice může vypadat nezvykle, ale je
> to logické.
>
> pepr
> _______________________________________________
> Tutor mailing list
> Tutor na py.cz
> http://www.py.cz/mailman/listinfo/tutor
> ------------- další část ---------------
> Netextová příloha byla odstraněna...
> Jméno: winmail.dat
> Typ: application/ms-tnef
> Velikost: 2040 bytes
> Popis: [žádný popis není k dispozici]
> Url :
> http://www.py.cz/pipermail/tutor/attachments/20051122/2a4fcaa4/winmail-0001.bin
>
> ------------------------------
>
> _______________________________________________
> Tutor mailing list
> Tutor na py.cz
> http://www.py.cz/mailman/listinfo/tutor
>
> Konec: Tutor Digest, Vol 6, Issue 5
> ***********************************
>
>
>
Nebo je možnost břes znaky.
pokud chceš vložit číslo použij %d
pro řetězec %s
ukázka:
>>>a="Ahoj"
>>>b="Svete"
>>>c=1
>>>print "%s%s%d" % (a,b,c)
>>>AhojSvete1
nebo
>>>print "%s %s %d) % (a,b,c)
Ahoj Svete 1
Snad sem ti kapku pomohl Babča
Další informace o konferenci Tutor