phython设计一个进制转换器
时间: 2024-09-23 16:09:19 浏览: 38
在Python中,我们可以轻松地设计一个简单的进制转换器,通常用于将十进制数转换成其他进制(如二进制、八进制或十六进制),也可以反过来。下面是一个基本的例子,展示如何创建这样的函数:
```python
def convert_base(decimal_num, from_base=10, to_base=2): # 默认从十进制转
if not isinstance(decimal_num, int) or decimal_num < 0:
raise ValueError("输入的数字必须是非负整数")
digits = "0123456789ABCDEF" if to_base == 16 else "0123456789"
def _convert(n, base):
result = []
while n > 0:
remainder = n % base
result.append(digits[remainder])
n //= base
return "".join(reversed(result))
if from_base == to_base:
return str(decimal_num)
elif from_base == 10:
return _convert(decimal_num, to_base)
else:
return _convert(decimal_num, 10, to_base)
# 使用示例
decimal = 1010
binary = convert_base(decimal, to_base=2) # 十进制转二进制
hexadecimal = convert_base(decimal, to_base=16) # 十进制转十六进制
print(f"{decimal} in binary is {binary}")
print(f"{decimal} in hexadecimal is {hexadecimal}")
阅读全文