Pythonにはビルトイン関数として10進数から2進数や16進数への変換ができるbin()やhex()がありますが、3進数への変換は用意されていません。しかし、以下のように独自の関数を定義することで、10進数から3進数への変換を実現することができます。
def decimal_to_ternary(decimal):
if decimal == 0:
return '0'
ternary = ''
while decimal > 0:
ternary = str(decimal % 3) + ternary
decimal //= 3
return ternary
この関数は、10進数を3で割りながら余りを求め、3で割った商が0になるまで繰り返すことで、10進数を3進数に変換しています。変換後は文字列として返されるため、必要に応じてint()などを使って数値に変換することができます。
使用例を示します。
>>> decimal_to_ternary(10)
'101'
>>> decimal_to_ternary(25)
'221'
>>> decimal_to_ternary(100)
'10201'
このように、Pythonを使って10進数から3進数への変換を簡単に行うことができます。