Python

Python基礎:%演算子

スポンサーリンク

はじめに

今回も前回に引き続き、「Python基礎」を扱います。今回は%演算子です。これは書式化演算子とも呼ばれます。変数に値を格納して、print文で表示するとき、文字列とどうやって組み合わせるか悩んだことはありませんか?(こんなところで躓くのは私だけ?)今回はその疑問を解消しましょう。

%演算子

%演算子を使って文字列をフォーマットすることができます。%s は文字列、%d は整数、%f は浮動小数点数 ということを覚えておくと大体、事足りるかと思います。%fは、%.2fのようにすると小数点以下の桁数を指定することができます。文字列中で%s, %dのように記載しておいて、文字列を書き終えたら%s, %dで指定した箇所に当てはめる変数を指定します。

これは具体例を見た方がわかりやすいので、次の「使ってみる」のところで説明します。

使ってみる

問題

数字のリストnumber_list=[1, 1, 2, -1, 3, 2, -3, 3, 5, 7, 9, 5, 3, 3, -1,0] に含まれる2の個数と3の個数を数えて、”2は〇個、3は〇個あります”と表示してください。

解答

number_list=[1, 1, 2, -1, 3, 2, -3, 3, 5, 7, 9, 5, 3, 3, -1,0]

count_2=0
count_3=0

for i in number_list:
    if i==2:
        count_2+=1
    elif i==3:
        count_3+=1
        
answer='2は%d個、3は%d個あります。'%(count_2,count_3)
print(answer)

まず、2の個数、3の個数を数えるために、count_2, count_3という変数を用意して初期化します。そして、リストからひとつずつ要素を取り出して、2だったらcount_2を1つカウントアップ、3だったらcount_3を1つカウントアップすれば個数は簡単に求めれます。

次に、これらの集計値を使って文字列を表示する方法についてです。表示内容を格納するための変数、answerを作ることにします。answerには、変数を参照したい箇所を%dをいれて文字列を書きます。文字列を閉じた後に、%dは何だったかわかるように変数を指定します。変数が複数ある場合は、上記のコードのように%(変数1, 変数2, …)のようにします。

スポンサーリンク

まとめ

いかがでしょうか?簡単な問題でも、参考書で解説を読むだけでなく自ら取り組むと意外につまずくことがあったり、新しい発見があったのではないでしょうか?%演算子は、 % に続く数値で文字幅や桁数を指定することもできます。

print('|%5.2f|'%count_2) # 全体桁数.少数点以下の桁数
print('|%05d|'%count_2) # 0埋め

コメント

タイトルとURLをコピーしました