it-swarm.com.de

Wie drucke ich ein% -Zeichen mit der String-Formatierung?

Ich habe ein kleines Skript zum Rechnerprozentsatz gemacht; Ich möchte jedoch das '%' in die gedruckte Nachricht einfügen ...

Habe das am Anfang probiert - funktionierte nicht ...

oFile.write ("Prozent:% s%"\n "% Prozent)

Ich habe dann "Percentage: %s"%"\n" % percent" probiert, was nicht funktioniert hat.

Ich möchte, dass die Ausgabe wie folgt lautet: Prozentsatz: x%

Ich erhalte ständig "TypeError: nicht alle während der String-Formatierung konvertierten Argumente". 

12
Eric1989

Um das %-Zeichen auszudrucken, müssen Sie es mit einem anderen %-Zeichen "escape" machen: 

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

Oder verwenden Sie die format()-Funktion, die eleganter ist.

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

4 Jahre später bearbeiten

In Python3x erfordert print() eine Klammer.

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

Der neue Ansatz von Python 3 besteht in der Verwendung von Formatzeichenfolgen.

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

Dies wird auch in Python> 2.6 unterstützt.

Siehe die Dokumente hier: Python 3 und Python 2

3
js837

Das Format ist eleganter, aber das Modulo-Zeichen scheint schneller zu sein!

http://inre.dundeemt.com/2016-01-13/string-modulo-vs-format-fight/ - zeigt, dass Modulo ~ 30% schneller ist!

1
Thomas Vetterli