2015-02-05 13 views
8

Zrobiłem mały skrypt do kalkulatora procent; Jednakże pragnę faktycznie zawierają „%” w wiadomości płyt ...Jak wydrukować znak "%" za pomocą formatowania ciągów znaków?

próbowała to na początku - nie działa ...

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

Następnie próbowałem "Percentage: %s"%"\n" % percent" które nie praca.

Chciałbym wyjściowy będzie: Odsetek: x%

ciśgle „TypeError: nie wszystkie argumenty przekształcone w ciąg formatowania”

+1

możliwy duplikat [zamienianie łańcucha Pythona na% character/\ * \ * dziwność kwargs] (http://stackoverflow.com/questions/1640487/python-string-replacement-with-character-kwargs-weirdness) –

+0

@ OliverW .: tak, ale ten tytuł i treść są bardzo niejasne, więc ten powinien być kanoniczny – smci

Odpowiedz

20

Aby wydrukować znak % trzeba „ucieczka” to z innej % znak:

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

Działa :), dziękuję. – Eric1989

7

Albo użyć format() funkcję, która jest bardziej elegancki.

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

Nowa metoda Pythona 3 polega na użyciu ciągów formatujących.

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

Jest to również obsługiwane w języku Python> 2.6.

Zobacz docs tutaj: Python 3 i Python 2

+0

Uwaga: nie ma potrzeby "0" wewnątrz bransoletek – GLHF

+0

@ howaboutNO '0' jest wymagane, jeśli używasz Py2.6 – canni

Powiązane problemy