前回はformatメソッドを使って数値を3桁区切りや、小数点第2位までの表示にした。
今回は、前回のプログラムの記述方法を改善していく。
前回の記事
Printで出力される不要なスペースを無くす
<前回のプログラム>
cost = int(input('仕入原価(円)を入力してください:')) sales = int(input('売上(円)を入力してください:')) #粗利額計算 gp = (sales - cost) print('粗利額は', '{:,}'.format(gp), '円です。') #粗利率計算 gpr = gp / sales print('粗利率は', '{:.2%}'.format(gpr), 'です。\r\n')
<前回のプログラム実行結果>
前回のプログラムの実行結果では
粗利額は␣10,000,000␣円です。
粗利率は␣66.67%␣です。
のように、無駄なスペース␣が入ってしまう。
print関数内の半角スペースを削除するだけで解決しそうなものだが、それだと実行結果は変わらない。
これを解決するため、プログラムを以下のように書き換える。
<修正後プログラム1>
cost = int(input('仕入原価(円)を入力してください:')) sales = int(input('売上(円)を入力してください:')) #粗利額計算 gp = (sales - cost) print('粗利額は{:,}円です。'.format(gp)) #粗利率計算 gpr = gp / sales print('粗利率は{:.2%}です。\r\n'.format(gpr))
<修正後プログラム1実行結果>
print内のテキストをカンマ,で区切らず一続きにしたことで、スペース␣が無くなった。
なお、波括弧{}と.format()が離れていても、.format()で指定した引数が、
波括弧{}の位置に、
波括弧{}で指定した書式で
入力されるので問題ない。
※書式指定なし(波括弧内に何も書かない)も可能。
print文を1つにまとめる
formatメソッドをうまく使うことによって、2つに分かれているprint文を1つにまとめることができる。
<修正後プログラム2>
cost = int(input('仕入原価(円)を入力してください:')) sales = int(input('売上(円)を入力してください:')) #粗利額計算 gp = (sales - cost) #粗利率計算 gpr = gp / sales print('粗利額は{:,}円です。粗利率は{:.2%}です。\r\n'.format(gp, gpr))
<修正後プログラム2実行結果>
上記<修正後プログラム2>のように、テキスト内に波括弧{}を複数用いることが可能。
.format()に引数をカンマ,区切りで指定することによって、
引数が前から順番に波括弧へ差し込まれている。
続き