python 生成 代码输入任意十进制数字,输入该数字2进制,8进制 及16进制;输入 2、816 进制转换为十进制;代码
时间: 2024-09-26 18:14:28 浏览: 34
在Python中,你可以使用内置函数`int()`来进行十进制到其他进制(如二进制、八进制和十六进制)以及反向转换的操作。以下是一个简单的程序示例:
```python
def convert_numbers():
# 获取用户输入的十进制数
decimal_num = int(input("请输入一个十进制数字: "))
# 转换到二进制
binary_str = bin(decimal_num)[2:] # [2:]去掉前缀'0b'
print(f"二进制表示: {binary_str}")
# 转换到八进制
octal_str = oct(decimal_num)[2:] # [2:]去掉前缀'0o'
print(f"八进制表示: {octal_str}")
# 转换到十六进制
hex_str = hex(decimal_num)[2:].upper() # [2:]去掉前缀'0x', upper()转大写
print(f"十六进制表示: {hex_str}")
# 输入2进制、八进制或十六进制转换为十进制
while True:
base_choice = input("\n请选择一个进制(2/8/16)并输入数值,输入空行结束: ")
if not base_choice.strip(): # 如果为空则退出循环
break
elif base_choice.startswith('0'): # 如果以0开头可能是二进制
try:
num_in_base = int(base_choice, 2)
print(f"{base_choice}对应的十进制是: {num_in_base}")
except ValueError:
print("无效的二进制输入,请重新尝试.")
else:
try:
num_in_base = int(base_choice, int(base_choice[0])) # 八进制和十六进制直接转换
print(f"{base_choice}对应的十进制是: {num_in_base}")
except ValueError:
print("无效的进制输入,请重新尝试.")
convert_numbers()
```
这个程序首先让用户输入一个十进制数,然后将其转换成二进制、八进制和十六进制形式。接着它会提示用户可以选择2、8、16这三种进制之一,并输入相应的值,程序会计算出对应的十进制数值。
阅读全文