我尝试将十进制转换为二进制、八进制和十六进制,我需要使用递归,并且不使用内置的输出
Decimal: 10
Decimal to Binary: 01010
Decimal to Octa: 12
Decimal to Hexa: A
到目前为止,我只得到了这个没有递归的求解方法
decimal = int(input("Input decimal:"))
#convert binary
def bin(decimal):
if decimal >= 1:
bi(decimal // 2)
return decimal % 2
#convert octa
def octa(decimal):
if decimal >= 1:
octa(decimal // 8)
return decimal % 8
def hex(decimal):
if decimal >= 1:
hex(decimal // 16)
return decimal % 16
有没有一种方法可以使它更简单,只需使用一个带递归的def
可以使用单个递归函数完成,如下所示:
代码
测试
输出
是的,你可以把数字和基数作为输入 我们知道二进制的基值是2,八进制的基值是8,十六进制的基值是16 请尝试以下代码
相关问题 更多 >
编程相关推荐