Найти - Пользователи
Полная версия: Помогите написать функцию перевода чисел в различные системы счисления
Начало » Центр помощи » Помогите написать функцию перевода чисел в различные системы счисления
1
sacratum
Есть вот такое задание:
Разработать функцию convert_n_to_m(x, n, m), которая принимает 3 аргумента - целое число (в системе счисления с основанием n) или строку x, представляющий такое число, и целые числа n и m (1 <= n, m <= 36), и возвращает строку - представление числа х в системе счисления m. В системах счисления с основанием больше десяти для обозначения разрядов со значением более 9 использовать буквы латинского алфавита в верхнем регистре от A до Z.

Как можно решить данную задачу?
Заранее благодарен
sander
вот так
terabayt
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
sacratum
Спасибо terabayt за помощь!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB