Python プログラミング メモ

文字列を受け取って数値型として計算する eval() 関数 Python

 

例えばこんな問題があったとします。

・「99」 の1の位と10の位の和を計算して出力せよ。

何らかの方法で 9, 9 と1の位と10の位をバラして数値型として計算をする。

その為には文字列型に変換して、再度数値型に戻して計算する。

みたいな面倒な処理が必要になると思います。

もしかしたら、もっとスマートな方法があるんだけど私が知らないだけなのかも知れませんが・・・。

 

今回、たまたま書籍の中に出てきた eval() 関数を使って実装してみました。

 

"""
標準入力で 99 を入力
"""
n = input()  # n = 99

x = eval(n[0]) + eval(n[1])  # 9 + 9 = 18
print(type(x))  # <class 'int'>
print(x)  # 18

"""
出力結果
18
"""

 

簡単ですね。

文字列として標準入力で受け取って、ダイレクトに文字列を数値型として計算して出力できます。

 

すげー便利か?って聞かれると微妙ですが、裏で何をやっているかイメージできるのであれば、若干コードが見やすくなるかも知れない?ってレベルです。

 

 

 

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

Copyright© donguri_pyのblog , 2024 All Rights Reserved.