文字列フォーマットを使用して「%」記号を印刷するにはどうすればよいですか? [重複] 質問する

文字列フォーマットを使用して「%」記号を印刷するにはどうすればよいですか? [重複] 質問する

パーセントを計算するための小さなスクリプトを作成しましたが、%印刷されるメッセージ内に実際に含めるようにしたいです...

最初にこれを試しましたが、うまくいきませんでした...

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

その後試してみましたが"Percentage: %s"%"\n" % percent"、うまくいきませんでした。

出力は次のようになります:

Percentage: x%

私は続けて

TypeError: not all arguments converted during string formatting

ベストアンサー1

記号を印刷するには、別の記号%で「エスケープ」する必要があります。%

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

編集

最近のPython3では、より良い(そしてより読みやすい)アプローチは、f弦他の解決策(以下に示す)も同様に機能することに注意してください。

$python3
>>> percent = 12
>>> print(f'Percentage: {percent}%') # f-string
Percentage: 12%
>>> print('Percentage: {0}%'.format(percent)) # str format method
Percentage: 12%
>>> print('Percentage: %s%%' % percent) # older format, we 'escape' the '%' character
Percentage: 12%

おすすめ記事