python编写一个函数,函数功能是进行进制转换。函数能够实现将一个十进制整数,转换成2、8或16进制数形式返回。
时间: 2024-05-15 18:13:25 浏览: 15
可以使用 Python 内置函数 `bin()`、`oct()` 和 `hex()` 分别进行 2 进制、8 进制和 16 进制的转换。
下面是一个示例代码:
```python
def convert(num, base):
if base == 2:
return bin(num)
elif base == 8:
return oct(num)
elif base == 16:
return hex(num)
else:
return "Invalid base!"
# 测试
print(convert(10, 2)) # 输出 0b1010
print(convert(10, 8)) # 输出 0o12
print(convert(10, 16)) # 输出 0xa
print(convert(10, 3)) # 输出 Invalid base!
```
其中,`num` 表示要转换的十进制整数,`base` 表示要转换的进制数(2、8 或 16)。如果 `base` 不是这三个数中的任何一个,函数会返回字符串 "Invalid base!"。
相关问题
python编写一个函数,将十进制整数n转换为二进制
字符串并返回。以下是示例代码:
```python
def decimal_to_binary(n):
if n == 0:
return '0'
binary = ''
while n > 0:
binary = str(n % 2) + binary
n //= 2
return binary
```
你可以这样调用函数:
```python
n = 16
binary = decimal_to_binary(n)
print(binary)
```
输出结果应该是:
```
10000
```
python编写一个函数,将十进制整数n转换为二进制的字符串,用列表保存中间余数
好的,我明白您的要求了。以下是 Python 代码实现:
```
def decimal_to_binary(n):
"""
将十进制整数 n 转换为二进制的字符串,用列表保存中间余数
"""
binary_list = []
while n > 0:
binary_list.append(n % 2)
n //= 2
binary_list.reverse() # 将列表翻转,得到正确的二进制字符串
binary_str = ''.join([str(i) for i in binary_list]) # 将列表元素转换为字符串,并拼接
return binary_str
```
使用方法:
```
n = 1234
binary_str = decimal_to_binary(n)
print(binary_str) # 输出:10011010010
```