python 十进制转五进制
时间: 2024-08-16 21:01:02 浏览: 143
在Python中,你可以使用内置函数`format()`或者`int()`函数配合`oct()`或`hex()`先转换为二进制或十六进制,然后手动将二进制或十六进制转换为五进制。以下是两种方法:
**方法一:使用format()函数**
```python
def decimal_to_base5(decimal_num):
return format(decimal_num, '08b').zfill(8)[:-1].replace('0', '', 1).replace('1', '2').replace('2', '3').replace('3', '4') + '0'
decimal_number = int(input("请输入十进制数: "))
base5 = decimal_to_base5(decimal_number)
print(f"{decimal_number} in base 5 is {base5}")
```
**方法二:先转二进制再转五进制**
```python
def decimal_to_base5(decimal_num):
binary = bin(decimal_num)[2:] # 移除前缀'0b'
base5 = ''
for digit in binary:
base5 += str(int(digit, 2)) * 5 # 将二进制每位乘以5
while len(base5) % 5 != 0: # 填充0至长度能被5整除
base5 = '0' + base5
return base5
decimal_number = int(input("请输入十进制数: "))
base5 = decimal_to_base5(decimal_number)
print(f"{decimal_number} in base 5 is {base5}")
```
记得运行代码前导入`bin()`函数,因为在此场景下它并不直接用于转换,而是获取二进制表示。
阅读全文