输入一行字符串,去掉非16进制字符,将它转换成16、10、8、2进制数,输出。
时间: 2023-04-23 22:02:34 浏览: 1709
字符串转换成16进制输出
5星 · 资源好评率100%
好的,以下是回复:
首先,需要对输入的字符串进行处理,去掉非16进制字符。可以使用正则表达式来实现,具体代码如下:
import re
input_str = "0x1a2b3c4d5e6f7g8h9i"
hex_str = re.sub(r'[^0-9a-fA-F]', '', input_str)
这样,hex_str 就是去掉非16进制字符后的字符串了。
接下来,可以使用 Python 内置的 int() 函数将 hex_str 转换成10进制数,代码如下:
dec_num = int(hex_str, 16)
然后,可以使用 Python 内置的 oct()、bin() 函数将 dec_num 分别转换成8进制和2进制数,代码如下:
oct_num = oct(dec_num)
bin_num = bin(dec_num)
最后,将四个进制数输出即可,代码如下:
print("16进制数:", hex_str)
print("10进制数:", dec_num)
print("8进制数:", oct_num)
print("2进制数:", bin_num)
阅读全文