如何用Python编写一个函数将十进制数转换为三进制字符串?
时间: 2024-10-18 13:10:01 浏览: 21
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
在Python中,你可以通过内置的`bin()`函数来轻松地将十进制整数转换成二进制字符串,但是如果你想得到三进制字符串,你需要自定义一个函数。这里是一个简单的例子,展示了如何编写一个递归函数来进行这个转换:
```python
def decimal_to_trinary(n):
if n == 0:
return '0'
else:
# 找出最大的不超过n的三的幂次,并减去它
power = len(str(3 ** (len(bin(n))-2))) - 1
remainder = n // 3 ** power
# 将当前余数添加到结果中,并递归处理剩下的部分
return decimal_to_trinary(remainder) + str(n % 3 ** power)
# 示例
print(decimal_to_trinary(15)) # 输出 "120"
```
这个函数首先检查输入的数字是否为零,如果是,则返回'0'作为三进制表示的开始。然后找到最大的可以整除n的三的幂次(在这个过程中,我们实际上是在计算从最低位开始的最高有效位),对n做整除并获取余数,将余数加入结果,然后递归处理剩余的部分。
阅读全文