# перевод value в систему по основанию base ∈ [2; 36]
def conv(value, base):
res = ''
while True:
res = '0123456789abcdefghijklmnopqrstuvwxyz'[value % base] + res
value //= base
if value == 0: return res
print(conv(123456, 15)) # число 123456 в 15-ричной системе
Для любых целых чисел будет ненамного сложнее: def conv(value, base):
res, sign, value = '', ['', '-'][value < 0], abs(value)
while True:
res = '0123456789abcdefghijklmnopqrstuvwxyz'[value % base] + res
value //= base
if value == 0: return sign + res
print(conv(-123456, 15))
def convert_to_base(number, base):
if not (2 <= base <= 36):
raise ValueError("База должна быть от 2 до 36")
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ""
is_negative = number < 0
number = abs(number)
while number > 0:
remainder = number % base
result = digits[remainder] + result
number //= base
if is_negative:
result = "-" + result
return result or "0"
# Ввод числа и основания системы счисления от пользователя
try:
number = int(input("Введите число: "))
base = int(input("Введите основание системы счисления (от 2 до 36): "))
converted_number = convert_to_base(number, base)
print(f"Число {number} в {base}-ричной системе счисления: {converted_number}")
except ValueError as e:
print(f"Ошибка: {e}")
def convert_base(num, to_base=10, from_base=10):
# first convert to decimal number
if isinstance(num, str):
n = int(num, from_base)
else:
n = int(num)
# now convert decimal to 'to_base' base
alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
if n < to_base:
return alphabet[n]
else:
return convert_base(n // to_base, to_base) + alphabet[n % to_base]
все сайты говорят а бездарном методе hex который преобразовывает в 16 РИЧНУЮ СИСТЕМУ повторю мне нужно 15!!! Вообщем если знаете какие нибудь библиотеки а лучше встроенные функции в питоне для преобразования в любые системы счисления, мало ли на егэ не будет пипа)