python编写一个函数,函数功能是进行进制转换。函数能够实现将一个十进制整数,转换成2、8或16进制数形式返回。
时间: 2024-05-15 11:13:25 浏览: 55
可以使用 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编写代码不用函数实现将用户输入的十进制整数转换为制定进制的功能
Python 确实可以不通过函数直接实现这个功能,你可以使用 Python 的内置模块 `bin()` 或者 `oct()` 来完成十进制转二进制或八进制的转换,`hex()` 则用于十六进制。以下是简单的例子:
如果你想要让用户输入一个十进制数并转换成二进制,可以这样做:
```python
decimal_num = int(input("请输入一个十进制整数:"))
binary_str = bin(decimal_num)
print(f"{decimal_num} 转换成二进制是:{binary_str[2:]}") # 我们通常去掉前缀 '0b'
```
对于八进制和十六进制,代码类似:
```python
decimal_num = int(input("请输入一个十进制整数:"))
octal_str = oct(decimal_num)
hex_str = hex(decimal_num)
print(f"{decimal_num} 转换成八进制是:{octal_str[2:]}")
print(f"{decimal_num} 转换成十六进制是:{hex_str[2:].upper()}") # 上面用了 `.upper()` 将小写字母转为大写
```
阅读全文