我为计算器百分比制作了一个小脚本;但是,我希望在打印的消息中包含'%'......
一开始就尝试过 - 没有用......
oFile.write(“百分比:%s%”\ n“%%)
然后我尝试了"Percentage: %s"%"\n" % percent"
这不起作用。
我希望输出为:百分比:x%
我不断收到“TypeError:并非在字符串格式化期间转换所有参数”
答案 0 :(得分:32)
要打印%
符号,您需要使用另一个%
符号“转义”它:
percent = 12
print "Percentage: %s %%\n" % percent # Note the double % sign
>>> Percentage: 12 %
答案 1 :(得分:9)
或使用format()
功能,这更优雅。
percent = 12
print "Percentage: {}%".format(percent)
4年后编辑
现在在Python3x中print()
需要括号。
percent = 12
print ("Percentage: {}%".format(percent))
答案 2 :(得分:3)
新的Python 3方法是使用格式字符串。
percent = 12
print("Percentage: {0} %\n".format(percent))
>>> Percentage: 12 %
Python也支持这一点> 2.6。
答案 3 :(得分:2)
x = 0.25
y = -0.25
print("\nOriginal Number: ", x)
print("Formatted Number with percentage: "+"{:.2%}".format(x));
print("Original Number: ", y)
print("Formatted Number with percentage: "+"{:.2%}".format(y));
print()
样本输出:
Original Number: 0.25
Formatted Number with percentage: 25.00%
Original Number: -0.25
Formatted Number with percentage: -25.00%
帮助正确设置百分比值的格式
+++
使用百分比的ascii值-37
print( '12' + str(chr(37)) )
答案 4 :(得分:1)
格式更优雅,但模数符号似乎更快!
http://inre.dundeemt.com/2016-01-13/string-modulo-vs-format-fight/ - 显示模数快约30%!
答案 5 :(得分:-2)
print("Interest Rate (APR): " , format(APR, '.0f'),'%')