print('Binary version of {} - {}'.format(n, to_bin(n)))
print('Hex version of {} - {}'.format(n, to_hex(n)))
if __name__ == '__main__':
main()
Объяснение:
P.S Внутри функций перевода в системы счисления такая каша из за того, что изначально Python при переводе возвращает число с неким кодом системы счисления. То есть при переводе, например, числа 56, в двоичной версии он выдаст 0b111000, а в шестнадцатиричную - 0x38, что бы убрать код системы счисления, функции возвращают не просто интерпретацию числа в нужной системе, а строковый срез без первых двух символов.
def to_bin(n):
return str(bin(n))[2:len(str(bin(n)))]
def to_hex(n):
return str(hex(n))[2:len(str(hex(n)))]
def main():
n = int(input())
print('Binary version of {} - {}'.format(n, to_bin(n)))
print('Hex version of {} - {}'.format(n, to_hex(n)))
if __name__ == '__main__':
main()
Объяснение:
P.S Внутри функций перевода в системы счисления такая каша из за того, что изначально Python при переводе возвращает число с неким кодом системы счисления. То есть при переводе, например, числа 56, в двоичной версии он выдаст 0b111000, а в шестнадцатиричную - 0x38, что бы убрать код системы счисления, функции возвращают не просто интерпретацию числа в нужной системе, а строковый срез без первых двух символов.