Python プログラミング メモ

Python 数字を「,」で3桁区切りにする

Python 数字を「,」で3桁区切りにする

 

これ、ハマりました。。

一見すると簡単な問題のように見えて、実は結構難しかったです。

Pythonの文字列型はイミュータブルなので、そのまま任意の文字列を挿入して「ハイ、終了!」ってわけにはいきません。

なので、今回は文字列を1個ずつ出力するようにして、必要な個所に任意の文字を出力するという方法で試してみました。

 

実装例

n = input()

for i in range(len(n)):
    if i % 3 == 0 and i != 0:
        print(",", end="")
    print(n[i], end="")

出力内容

777,777,777

 

入力内容は「777777777」9桁のオール7です。

まず、変数 n に入力内容を代入する。

forループをrangeで回数を指定して回します。

この時にlen関数で変数の分だけ回るようにする。

今回は「3桁で「,」区切り」という事で4桁目(インデックスで言うと3)に「,」が挿入できればいいわけです。

よって、インデックスが3の倍数になるところに if で条件分岐して「,」を入れるようにしています。

それ以外であれば、そのまま出力という流れで上記の結果を出力する事が可能です。

他にも出す方法がありますが、今回はこれを採用してみました。

 

-Python, プログラミング, メモ

Copyright© donguri.pyのblog , 2024 All Rights Reserved.