UE4&

Unreal Engine 4 ・プログラミング

Python で int を float 型のまま計算できるようにした。

Python での型変換エラー

Python でプログラミングの練習をしている。

今回、型変換に苦戦し下記のエラーを何度か見た。

TypeError: unsupported operand type(s) for +: 'int' and 'str'

エラーとなるコード

giste9b441fc5bc31c207124eb9cf535f5bb

 

実行結果

TypeError: unsupported operand type(s) for +: 'int' and 'str'

num = で足し算したい計算内容が float 型等の(数値)になっていないとのことだった

ファンクション同士の足し算はできませんということか。

原因:関数同士で足し算、16進数で足し算

Print で確認すると関数の中身は 0xなんとかと表示されていた。

16進数の状態で足し算しようとしていたことが判明した。

16進数からfloat型か何かしらの数値にしてから足し算しないといけない。

参考:Python入門 - 数値・文字列・型

どうするか

Print で出力した数値を足し算できないか考えた

→まあコードで記述するのが難しそうだからやめた。

明らか難しそうでコードが思い浮かばない。

参考:Pythonで2進数、8進数、16進数の数値・文字列を相互に変換 | note.nkmk.me

計算結果をfloat型で出力する

そうしたところで最後に足し算が出来ない

 色々考えた結果

何かしらの箱を準備してアレコレ計算すればいいだけだった。

num5=(five_years(0.012))

numという箱に計算結果を入れて

x = [num5+num7+num10]

上記のようにリスト化して

最後に足し算すればいいだけだった。

print(x)

プリントで出力すれば計算結果の合計値が普通に出た。

 最終結

合計値を出すと言う思うような結果が得られた。

gist788e59f12950b5f980eb1b2516866e12