Форум сайта python.su
Есть вот такое задание:
Разработать функцию convert_n_to_m(x, n, m), которая принимает 3 аргумента - целое число (в системе счисления с основанием n) или строку x, представляющий такое число, и целые числа n и m (1 <= n, m <= 36), и возвращает строку - представление числа х в системе счисления m. В системах счисления с основанием больше десяти для обозначения разрядов со значением более 9 использовать буквы латинского алфавита в верхнем регистре от A до Z.
Как можно решить данную задачу?
Заранее благодарен
Офлайн
Офлайн
def convert_n_to_m(n, a, b): A = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' try: if a == 1: n, a = len(n), 10 num, new_num_string = int(str(n), a), '' assert n >= 0 except: return False if b == 1: return '0' * num while num: new_num_string = A[num % b] + new_num_string num /= b return new_num_string if new_num_string else 0
Отредактировано terabayt (Март 5, 2015 13:58:58)
Офлайн
Спасибо terabayt за помощь!
Офлайн