[Python] Non andare a capo

Marco Buttu mbuttu a oa-cagliari.inaf.it
Ven 3 Gen 2014 12:46:21 CET


On 01/03/2014 12:27 PM, domenico.tarricone a alice.it wrote:
>    Buongiorno a tutti,
>
>   con la presente vorrei,  innanzi tutto,  presentarmi e poi porre un  banalissimo quesito  ( almeno per voi ).Ci tengo a precisare che ho cominciato a studiare Python senza nessuna velleità professionale, ma solo come hobby.

Benvenuto e complimenti per l'ottima scelta ;)

>    Premetto che sto usando Python 3.3:
>
>    se io ho il seguente ciclo:
>
>      x=1
>      while x<5
>            print (x)
>            x=x+1
>
>     come faccio a farmi stampare i valori tutti sulla stessa riga, separati da uno spazio ?  Così com'è, me li stampa tutti in colonna.
>
>    

A partire da Python 3 print() e' una funzione, e prende degli argomenti 
opzionali. Uno di questi si chiama `end`, e serve per specificare come 
deve terminare la stampa. Per default la stampa termina con end='\n', il 
che significa che va accapo dopo ogni stampa, e questo e' infatti cio' 
che hai ottenuto.
Se vuoi ottenere un comportamento diverso da quello di default, passa ad 
`end` una stringa diversa da '\n':

 >>> for x in range(1, 5):
...     print(x)
...
1
2
3
4
 >>> for x in range(1, 5):
...     print(x, end='--')
...
1--2--3--4-->>>

In questo modo, come puoi vedere, nella shell interattiva il prompt non 
va accapo:

 >>> for x in range(1, 5):
...     print(x, end='')
...
1234>>>

Quando vuoi ottenere informazioni su un oggetto, usa la funzione 
built-in help(). Prova ad esempio:

 >>> help(print)

Quello che ti ho detto vale solo a partire da Python 3, non per Python 2.
Buon divertimento con Python, ciao

-- 
Marco Buttu

INAF-Osservatorio Astronomico di Cagliari
Via della Scienza n. 5, 09047 Selargius (CA)
Phone: 070 711 80 217
Email: mbuttu a oa-cagliari.inaf.it



Maggiori informazioni sulla lista Python