Как напечатать знак "%", используя форматирование строк?

Я сделал небольшой script процент калькулятора; однако, я хочу фактически включить "%" в напечатанное сообщение...

Пробовал это в начале - не работал...

oFile.write( "Процент:% s%" \n "% процентов)

Затем я попробовал "Percentage: %s"%"\n" % percent", который не работал.

Я хочу, чтобы результат был следующим: Процент: x%

Я продолжаю получать "TypeError: не все аргументы, преобразованные во время форматирования строки"

Ответ 1

Чтобы напечатать знак %, вам нужно "сбежать" с другим знаком %:

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

Ответ 2

Или используйте функцию format(), которая более элегантна.

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

4 года спустя редактировать

Теперь в Python3x print() требует скобок.

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

Ответ 3

Новый подход Python 3 - использовать строки формата.

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

Это также поддерживается в Python > 2.6.

Смотрите документы здесь: Python 3 и Python 2