HackerRank Python Solution - Strings - String Formatting

Given an integer, n, print the following values for each integer i from 1 to n:
  • Decimal
  • Octal
  • Hexadecimal (capitalized)
  • Binary
Function Description:
  • Complete the print_formatted function in the editor below.
  • print_formatted has the following parameters:
    • int number: the maximum value to print
Prints:
  • The four values must be printed on a single line in the order specified above for each from 1 to number. Each value should be space-padded to match the width of the binary value of number and the values should be separated by a single space.
Input Format:
  • A single integer denoting n. Constraints
Sample Input:

17
Sample Output:

    1     1     1     1
    2     2     2    10
    3     3     3    11
    4     4     4   100
    5     5     5   101
    6     6     6   110
    7     7     7   111
    8    10     8  1000
    9    11     9  1001
   10    12     A  1010
   11    13     B  1011
   12    14     C  1100
   13    15     D  1101
   14    16     E  1110
   15    17     F  1111
   16    20    10 10000
   17    21    11 10001
Solution:

def print_formatted(number):
    # largest binary number
    w = len(str(bin(number)).replace('0b',''))
    
    for i in range(1,number+1):
        d = str(i).rjust(w, ' ')
        o = oct(i).replace('0o','').rjust(w, ' ')
        h = hex(i).replace('0x','').upper().rjust(w, ' ')
        b = bin(i).replace('0b','').rjust(w, ' ')
        
        print(d,o,h,b)

if __name__ == '__main__':
    n = int(input())
    print_formatted(n)
Disclaimer: The problem statement is given by hackerrank.com but the solution is generated by the Geek4Tutorial admin. If there is any concern regarding this post or website, please contact us using the contact form. Thank you!

No comments:

Post a Comment

You might also like

Deploy your Django web app to Azure Web App using App Service - F1 free plan

In this post, we will look at how we can deploy our Django app using the Microsoft Azure app service - a free plan. You need an Azure accoun...