python 自定义函数 十进制转化为n进制
时间: 2023-09-26 16:07:34 浏览: 46
可以使用以下代码实现将十进制数转换为任意进制数的自定义函数:
```
def dec_to_base(num, base):
"""
将十进制数 num 转换为 base 进制数
"""
if base < 2 or base > 36:
# 如果 base 不在 [2, 36] 范围内,返回错误信息
return "Error: Base must be between 2 and 36"
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ""
while num > 0:
remainder = num % base
result = digits[remainder] + result
num //= base
return result
```
`dec_to_base()` 函数接受两个参数,分别为要转换的十进制数 `num` 和目标进制数 `base`。在函数内部,使用了一个 while 循环,不断将十进制数除以目标进制数,直到商为 0。每次计算出余数后,将其对应的字符加入到结果字符串的开头。最后返回得到的结果字符串。
例如,将十进制数 123456789 转换为 16 进制数,可以使用以下代码:
```
num = 123456789
base = 16
result = dec_to_base(num, base)
print(result)
```
输出结果为 `75BCD15`。