Python 中的 Hexspeak
pythonserver side programmingprogramming更新于 2025/10/26 22:36:17
假设一个十进制数可以转换为其 Hexspeak 表示形式,方法是首先将其转换为大写十六进制字符串,然后将所有出现的数字 0 替换为字母 O,将数字 1 替换为字母 I。
当且仅当这种表示形式仅由集合 {"A", "B", "C", "D", "E", "F", "I", "O"} 中的字母组成时,这种表示形式才有效。
因此,我们有一个表示十进制整数 N 的字符串 num,如果正确,我们必须找到 N 的 Hexspeak 表示形式,否则返回"ERROR"。因此如果 num = "257",那么输出将是"IOI"因为 257 在十六进制中是 101。
为了解决这个问题,我们将遵循以下步骤 −
- x := 数字的十六进制格式
- ans := 一个空字符串
- 制作一个字典,并输入数字(10 : ‘A’,11 : ‘B’,12 : ‘C’,13 : ‘D’,14 : ‘E’,15 : ‘F’,1 : ‘I’,0 : ‘O’)
- 对于 x 中的每个字符 i −
- 如果 i 在 d 中,则 ans := ans + d[i],否则返回"ERROR"
- 返回 ans
示例
让我们看下面的实现,以便更好地理解 −
class Solution(object):
def convertToHex(self, n):
res = []
while n > 0:
res.append(n % 16)
n //= 16
return res[::-1]
def toHexspeak(self, num):
x = self.convertToHex(int(num))
ans = ""
d = {10:"A", 11:"B", 12:"C", 13:"D", 14:"E", 15:"F",0:"O",1:"I"}
for i in x:
if i in d:
ans += d[i]
else:
return "ERROR"
return ans
ob1 = Solution()
print(ob1.toHexspeak("659724"))
输入
"659724"
输出
"AIIOC"
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

