[Python] Formattazione stringhe.

Gabriele Battaglia iz4apu a libero.it
Mer 8 Gen 2014 12:01:50 CET


> Non capisco perchè venga sollevata una eccezione su questa istruzione:
>
> print "Il programma %s ha girato per %2d Ore, %2d minuti e %2d secondi" %
> (VERSIONE, Orologio)
>
> Dove, VERSIONE è una stringa e Orologio una tupla che contiene 3 valori.
>
> Python 2.7.6 dice: %d a number is required, not tuple.
>
> A regola dovrebbe funzionare... Cosa mi sfugge?
> GB.
>

Gli stai dicendo di stampare "...%2d Ore..." utilizzando il valore
Orologio. Siccome Orologio è una tupla e non un intero ti dà errore. Prova:
print "Il programma %s ha girato per %2d Ore, %2d minuti e %2d secondi" %
((VERSIONE, )+Orologio)
Ciao
GB: Ciao Giuseppe, grazie.
Quindi andava creata una tupla da 4 valori aggiungendo la stringa alla tupla 
da 3. Ok, non ci avevo pensato.

Buona giornata.
GB. 



Maggiori informazioni sulla lista Python