Процедура, которая выводит число в заданной системе счисления:
def print_number_in_basenum,basenum, basenum,base: digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" # Возможные цифры для различных систем счисления result = "" # Проверка на корректность введенной системы счисления if base < 2 or base > 20: print"Ошибка:системасчислениядолжнабытьот2до20""Ошибка: система счисления должна быть от 2 до 20""Ошибка:системасчислениядолжнабытьот2до20"
return # Обработка отрицательных чисел negative = False if num < 0: num = absnumnumnum
negative = True # Вычисление символов новой записи числа while num > 0: digit = num % base result = digitsdigitdigitdigit + result num //= base if negative: result = "-" + result printresultresultresult
Процедура, которая выводит число в заданной системе счисления:
def print_number_in_basenum,basenum, basenum,base:digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" # Возможные цифры для различных систем счисления
result = ""
# Проверка на корректность введенной системы счисления
if base < 2 or base > 20:
print"Ошибка:системасчислениядолжнабытьот2до20""Ошибка: система счисления должна быть от 2 до 20""Ошибка:системасчислениядолжнабытьот2до20" return
# Обработка отрицательных чисел
negative = False
if num < 0:
num = absnumnumnum negative = True
# Вычисление символов новой записи числа
while num > 0:
digit = num % base
result = digitsdigitdigitdigit + result
num //= base
if negative:
result = "-" + result
printresultresultresult
Пример использования:
print_number_in_base105,16105, 16105,16 print_number_in_base−56,8-56, 8−56,8 print_number_in_base100,2100, 2100,2Результат:
69-70
1100100