bin()
を使用せずに整数をバイナリに変換するプログラムを作成しました。ただし、実行すると、この関数は先行ゼロを追加します。整数をバイナリに変換し、先行ゼロを削除する必要があります
def decimalToBinary(n):
def helper(n):
if n == 0:
return '0'
else:
if n%2 == 1:
binaryDigit = '1'
else:
binaryDigit = '0'
return helper(n//2) + binaryDigit
helper(n)
print(helper(n))
出力:100
が入力されると、出力はむしろ01100100
より、1100100
なるよう
>>> decimalToBinary(100)
01100100
どのように私はこれを変更することができますか?私は遠く離れた銀河で昔、どこかで見つけ
を返すために、余分な
if
を使用する必要がありますので、あなたがあれば、n個の== 0 'に空の文字列を使用していた「ゼロをリードする」のみ
0
ニーズ: '復帰「」と'0'は先行ゼロを必要とする値だけなので、誰かが' decimalToBinary(0) 'をいつ実行するかを認識するための' 'if '。 – furas