2015-02-05 13 views
8

Ho fatto un piccolo script per la calcolatrice percentuale; tuttavia, desidero includere in realtà il '%' all'interno del messaggio stampato ...Come si stampa un segno '%' usando la formattazione della stringa?

provato questo alla partenza - non ha funzionato ...

oFile.write("Percentage: %s%"\n" % percent)

Allora ho provato "Percentage: %s"%"\n" % percent" che non ha fatto lavoro.

mi piacerebbe l'output di essere: Percentuale: x%

continuo a ricevere "TypeError: non tutti gli argomenti convertiti durante la stringa di formattazione"

+1

possibile duplicato di [sostituzione stringa di pitone con% carattere/\ * \ * stranezza di kwargs] (http://stackoverflow.com/questions/1640487/python-string-replacement-with-character-kwargs-weirdness) –

+0

@ OliverW .: sì ma il titolo e la formulazione di questo sono molto poco chiari, quindi questo dovrebbe essere canonico – smci

risposta

20

Per stampare il segno % è necessario 'fuga' con un altro % segno:

percent = 12 
print "Percentage: %s %%\n" % percent # Note the double % sign 
>>> Percentage: 12 % 
+0

Works :), grazie. – Eric1989

7

Oppure utilizzare format() funzione, che è più elegante.

percent = 12 
print "Percentage: {}%".format(percent) 
3

Il nuovo approccio di Python 3 consiste nell'utilizzare le stringhe di formato.

percent = 12 
print("Percentage: {0} %\n".format(percent)) 
>>> Percentage: 12 % 

Questo è supportato anche in Python> 2.6.

Vedi la documentazione qui: Python 3 e Python 2

+0

Nota che non è necessario '0' all'interno dei braccialetti – GLHF

+0

@howaboutNO' 0' è richiesto se stai usando Py2.6 – canni