用python编写一个程序,用户输入一个自然数,输出它的二进制、八进制、十六进制表示形式
时间: 2024-10-08 08:01:24 浏览: 61
当然可以。在Python中,我们可以使用内置的`bin()`, `oct()`, 和 `hex()` 函数来分别转换十进制整数为二进制、八进制和十六进制。以下是一个简单的程序,让用户输入一个自然数并显示其对应的三种进制表示:
```python
def convert_numbers():
try:
num = int(input("请输入一个自然数: "))
if num < 0:
print("输入的数值必须是非负整数,请重新输入。")
else:
binary = bin(num)[2:] # 去掉前缀'0b'
octal = oct(num)[2:] # 去掉前缀'0o'
hexadecimal = hex(num)[2:].upper() # 去掉前缀'0x' 并转大写
print(f"二进制表示: {binary}")
print(f"八进制表示: {octal}")
print(f"十六进制表示: {hexadecimal}")
except ValueError:
print("输入的不是一个有效的数字,请重新输入。")
convert_numbers()
```
在这个程序中,我们首先获取用户的输入并尝试将其转换为整数。如果输入不是整数,我们会捕获`ValueError`异常并提示用户重新输入。然后,我们将转换后的二进制、八进制和十六进制字符串打印出来。
阅读全文