Уведомления

Группа в Telegram: @pythonsu

#1 Март 5, 2015 10:22:27

sacratum
Зарегистрирован: 2015-03-05
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите написать функцию перевода чисел в различные системы счисления

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

Как можно решить данную задачу?
Заранее благодарен

Офлайн

#2 Март 5, 2015 11:21:44

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Помогите написать функцию перевода чисел в различные системы счисления

Офлайн

#3 Март 5, 2015 13:58:51

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Помогите написать функцию перевода чисел в различные системы счисления

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



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Март 5, 2015 13:58:58)

Офлайн

#4 Март 5, 2015 14:41:27

sacratum
Зарегистрирован: 2015-03-05
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите написать функцию перевода чисел в различные системы счисления

Спасибо terabayt за помощь!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version