例えばこんな問題があったとします。
・「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 """
簡単ですね。
文字列として標準入力で受け取って、ダイレクトに文字列を数値型として計算して出力できます。
すげー便利か?って聞かれると微妙ですが、裏で何をやっているかイメージできるのであれば、若干コードが見やすくなるかも知れない?ってレベルです。