 
 Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Hexspeak in Python
Suppose a decimal number can be converted to its Hexspeak representation by converting it to an uppercase hexadecimal string at first, after that replacing all occurrences of the digit 0 with the letter O, and the digit 1 with the letter I.
This kind of representation is valid if and only if it consists only of the letters in the set {"A", "B", "C", "D", "E", "F", "I", "O"}.
So we have a string num representing a decimal integer N, we have to find the Hexspeak representation of N if it is correct, otherwise return "ERROR". So if num = “257”, then the output will be “IOI” as 257 is 101 in hexadecimal.
To solve this, we will follow these steps −
- x := hex format of the digit
- ans := an empty string
- make one dictionary, and put the numbers (10 : ‘A’, 11 : ‘B’, 12 : ‘C’, 13 : ‘D’, 14 : ‘E’, 15 : ‘F’, 1 : ‘I’, 0 : ‘O’)
- for each character i in x −- if i in d, then ans := ans + d[i], otherwise return “ERROR”
 
- return ans
Example
Let us see the following implementation to get a better understanding −
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"))
Input
"659724"
Output
"AIIOC"
Advertisements
                    