创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ
题目
输入一行字符串,去掉非16进制字符,将它转换成16、10、8、2进制数,输出
输入格式:
输入一行字符串。
输出格式:
输出转换后的16、10、8、2进制数。数据之间有1个空格。(16进制字母小写)
输入样例:
_ahg1*B
输出样例:
a1b 2587 5033 101000011011
Python代码
- 用户输入一个字符串,可能包含十六进制字符和其他字符
- 使用正则表达式
[\^0-9a-fA-F]
匹配所有非十六进制字符,并删除它们 - 将处理后的字符串转换为十进制整数。
- 分别以十六进制、十进制、八进制和二进制格式打印这个整数
import re # 导入Python的正则表达式库
s = input()
# 使用正则表达式去除字符串s中所有非十六进制字符(即不是0-9或a-f或A-F的字符)
# r'[^0-9a-fA-F]'用于匹配任何不是十六进制字符的字符
# re.sub函数用于替换字符串中所有匹配正则表达式的部分
s = re.sub(r'[^0-9a-fA-F]', '', s)
# 将处理后的字符串s转换为十进制整数,转换的基数是十六进制
n = int(s, 16)
# 使用字符串格式化功能,将整数n转换为不同进制的字符串,并打印出来
# {0:x}表示以十六进制形式打印整数(小写字母)
# {0:d}表示以十进制形式打印整数
# {0:o}表示以八进制形式打印整数
# {0:b}表示以二进制形式打印整数
print("{0:x} {0:d} {0:o}".format(n), end=' ')
print("{0:b}".format(n), end='')
大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |