Ответ 1
Чтобы напечатать знак %
, вам нужно "сбежать" с другим знаком %
:
percent = 12
print "Percentage: %s %%\n" % percent # Note the double % sign
>>> Percentage: 12 %
Я сделал небольшой script процент калькулятора; однако, я хочу фактически включить "%" в напечатанное сообщение...
Пробовал это в начале - не работал...
oFile.write( "Процент:% s%" \n "% процентов)
Затем я попробовал "Percentage: %s"%"\n" % percent"
, который не работал.
Я хочу, чтобы результат был следующим: Процент: x%
Я продолжаю получать "TypeError: не все аргументы, преобразованные во время форматирования строки"
Чтобы напечатать знак %
, вам нужно "сбежать" с другим знаком %
:
percent = 12
print "Percentage: %s %%\n" % percent # Note the double % sign
>>> Percentage: 12 %
Или используйте функцию format()
, которая более элегантна.
percent = 12
print "Percentage: {}%".format(percent)
4 года спустя редактировать
Теперь в Python3x print()
требует скобок.
percent = 12
print ("Percentage: {}%".format(percent))
Новый подход Python 3 - использовать строки формата.
percent = 12
print("Percentage: {0} %\n".format(percent))
>>> Percentage: 12 %
Это также поддерживается в Python > 2.6.
format()
более элегантный, но знак по модулю кажется быстрее!
http://inre.dundeemt.com/2016-01-13/string-modulo-vs-format-fight/ - показывает, что по модулю на 30% быстрее!