Matlabでは剰余はmod(a, b)という関数で取れる。
割り算の商はfloor(a/b)と丸めるのがおそらくは簡単だと思われる。
Pythonだと、余りはa % bで 商はa // bという演算子で書けてスッキリ。
商と剰余、両方必要なときはdivmod(a, b)という便利関数も組み込みである。
余談ながら、累乗はMatlabでは^だったけど、Pythonでは**だ。
例:in Matlab
>> floor(5^0.5/1)
ans =
2
>> mod(5^0.5,1)
ans =
0.2361
例:in Python
>>> (5 ** 0.5) // 1
2.0
>>> (5 ** 0.5) % 1
0.2360679774997898
本当はカッコは要らなくて、5 ** 0.5 // 1とか5 ** 0.5 % 1で良いのだけれど、カッコがある方が読みやすい気がする。
商と剰余両方ほしいときはdivmod()
>>> divmod(5 ** 0.5, 1)
(2.0, 0.2360679774997898)
divmod()の出力のタプルは、もちろんアンパックして受けてもOK
>>> (q ,r) = divmod(13, 5)
>>> q
2
>>> r
3
divmodは地味に便利そうだ。