Re: [Python] Allineamento stringe [ERA]: [NIUBBO] Python razzista? ; -)

2011-03-04 Per discussione Lorenzo Sutton

Ciao,

Estratti da Cesco:


[...] ho bisogno di allineare a destra un numero posso scrivere:
print "{0:-5}".format(123)
Mi restituisce "123"


O anche:

print ("%5d") % 123


Ma se ho bisogno di fare la stessa cosa con una stringa:
print "{0:-5}".format("Joe")
Mi solleva un eccezione? ("Sign not allowed in string format specifier")

Eppure se tento di allineare a sinistra quello stesso testo funziona 
perfettamente:

print "{0:5}".format("Joe")
infatti restituisce correttamente:
"Joe"
A parte gli scherzi, posso chiedervi come si fa a fare il padding verso destra 
di una stringa senza scrivere una funzione?

Se ho capito bene vuoi fare questo?

>>> s = 'Joe'
>>> s.ljust (5)
'Joe  '
>>> s.rjust (5)
'  Joe'

>>> help (str.ljust)
...
ljust(...)
S.ljust(width[, fillchar]) -> string

Return S left-justified in a string of length width. Padding is
done using the specified fill character (default is a space).


Quindi questo mi sembra un chiaro episodio di discriminazione verso le povere 
stringhe! :-D
Razzista? Ma no, ;-) anzi Python è il linguaggio più aperto del mondo un 
melting pot di di funzionale e object-oriented che convivono 
pacificamente senza farsi la guerra.. tipo che cambiano in continuazione..
 E in più IMHO ha una delle comunità più aperte, amichevole e d'aiuto 
tra tutti i linguaggi :-)


Lorenzo.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [NIUBBO] Python razzista? ;-)

2011-03-04 Per discussione Marco Mariani
2011/3/4 Cesco 

Quindi questo mi sembra un chiaro episodio di discriminazione verso le
> povere stringhe! :-D
> A parte gli scherzi, posso chiedervi come si fa a fare il padding verso
> destra di una stringa senza scrivere una funzione?
>

>>> 'foo'.rjust(5)
'  foo'
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] [NIUBBO] Python razzista? ;-)

2011-03-04 Per discussione Francesco Maida
Scusatemi una domanda veloce veloce... perchè quando ho bisogno di allineare a 
destra un numero posso scrivere:

print "{0:-5}".format(123) 

Mi restituisce "123"


Ma se ho bisogno di fare la stessa cosa con una stringa:

print "{0:-5}".format("Joe")

Mi solleva un eccezione? ("Sign not allowed in string format specifier")


Eppure se tento di allineare a sinistra quello stesso testo funziona 
perfettamente:

print "{0:5}".format("Joe")

infatti restituisce correttamente:

"Joe"


Quindi questo mi sembra un chiaro episodio di discriminazione verso le povere 
stringhe! :-D
A parte gli scherzi, posso chiedervi come si fa a fare il padding verso destra 
di una stringa senza scrivere una funzione?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python