Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Помощь по переводу в семеричную систему счисления python

  1. Помощь по переводу в семеричную систему счисления python

    Всем привет! Нужна помощь с переводом чисел в семеричную систему счисления на Python. Пробовал несколько способов, но что-то не выходит как надо. Было бы круто увидеть пример кода и объяснения, как это сделать корректно. Какие есть хитрости и нюансы? Заранее спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. "Привет! Вот тебе примерчик как перевести число в семеричную систему счисления на Python.
    Программный код:
    def to_septenary(n):
        if 
    7:
            return 
    str(n)
        else:
            return 
    to_septenary(// 7) + str(n % 7)

    num 100
    septenary_num 
    to_septenary(num)
    print(
    septenary_num
    В этом примере используется рекурсивная функция для перевода. Проверяет сначала, если число меньше 7, возвращает его как строку. Иначе вызывает себя до тех пор, пока не останется остаток от деления.”

  4. Цитата Сообщение от Марина Сергеевна
    "Привет! Вот тебе примерчик как перевести число в семеричную систему счисления на Python.
    Программный код:
    def to_septenary(n):
        if 
    7:
            return 
    str(n)
        else:
            return 
    to_septenary(// 7) + str(n % 7)

    num 100
    septenary_num 
    to_septenary(num)
    print(
    septenary_num
    В этом примере используется рекурсивная функция для перевода. Проверяет сначала, если число меньше 7, возвращает его как строку. Иначе вызывает себя до тех пор, пока не останется остаток от деления.”
    О, прикольно. Никогда бы не подумал рекурсию тут применить! Этот метод для больших чисел нормально работает?

  5. Можно и через цикл написать, если сильно рекурсия не форсит:
    Программный код:
    def to_septenary(n):
        if 
    == 0:
            return 
    '0'
        
    digits = []
        while 
    n:
            
    digits.append(int(7))
            
    //= 7
        
    return ''.join(map(strdigits[::-1]))

    print(
    to_septenary(100)) 
    Так сходить кайфирует?

  6. Цитата Сообщение от carimoff.maratik200
    Можно и через цикл написать, если сильно рекурсия не форсит:
    Программный код:
    def to_septenary(n):
        if 
    == 0:
            return 
    '0'
        
    digits = []
        while 
    n:
            
    digits.append(int(7))
            
    //= 7
        
    return ''.join(map(strdigits[::-1]))

    print(
    to_septenary(100)) 
    Так сходить кайфирует?
    Ништяк, этот способ понятнее, мне цикл привычнее покороче.

  7. Баловаться тут можно. А еще через систему встроенных функций, но с фишками:
    Программный код:
    def to_septenary(n):
        return 
    '' if == else to_septenary(// 7) + str(n % 7)

    print(to_septenary(100)) 
    Вроде покороче, чем твоя рекурсия.

  8. Цитата Сообщение от cgtprod
    Баловаться тут можно. А еще через систему встроенных функций, но с фишками:
    Программный код:
    def to_septenary(n):
        return 
    '' if == else to_septenary(// 7) + str(n % 7)

    print(to_septenary(100)) 
    Вроде покороче, чем твоя рекурсия.
    Не, ну компактно, но надо же помнить что n == 0.

  9. Из подручных средств типа divmod вообще по кайфу и кратко:
    Программный код:
    def to_septenary(n):
        
    res ''
        
    while n:
            
    ndivmod(n7)
            
    res str(r) + res
        
    return res or '0'

    print(to_septenary(100)) 
    Профит в парочке строк.

  10. Цитата Сообщение от Юлия Михайловна
    Из подручных средств типа divmod вообще по кайфу и кратко:
    Программный код:
    def to_septenary(n):
        
    res ''
        
    while n:
            
    ndivmod(n7)
            
    res str(r) + res
        
    return res or '0'

    print(to_septenary(100)) 
    Профит в парочке строк.
    Прям тема, еще и с divmod - хороший хак.

Страница 1 из 2 12 ПоследняяПоследняя