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

Тема: как посчитать число цифр в числе питон? Помощь новичку!

  1. как посчитать число цифр в числе питон? Помощь новичку!

    Привет, ребят! Я только начинаю разбираться с Python и тут встал вопрос: как посчитать число цифр в числе питон? Может кто-то знает простой способ сделать это? Может есть какие-то особенности для больших чисел? Буду признателен за помощь и примеры кода!



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

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

  3. Самый простой способ, как мне кажется, это использовтаь встроенную функцию len() и строковое представление числа. Ну, типа такого:
    Программный код:
    number 123456
    count 
    len(str(number))
    print(
    count
    Тут мы просто превращаем число в строку и считаем ее длину. Легко и просто!

  4. Цитата Сообщение от Эклипс
    Самый простой способ, как мне кажется, это использовтаь встроенную функцию len() и строковое представление числа. Ну, типа такого:
    Программный код:
    number 123456
    count 
    len(str(number))
    print(
    count
    Тут мы просто превращаем число в строку и считаем ее длину. Легко и просто!
    Да, это самый простой вариант, но что если число отрицательное или тип float? Тогда надо бы еще с минусом и точкой разбираться.

  5. Можно еще сделать вот так, используя математику:
    Программный код:
    import math
    num 
    123456
    count 
    math.floor(math.log10(num)) + 1
    print(count
    Этот способ круче, потому что работает напрямую с числами и может быть полезен для больших значений.

  6. Цитата Сообщение от _Kristina_
    Можно еще сделать вот так, используя математику:
    Программный код:
    import math
    num 
    123456
    count 
    math.floor(math.log10(num)) + 1
    print(count
    Этот способ круче, потому что работает напрямую с числами и может быть полезен для больших значений.
    Выглядит довольно продвинуто, но мне кажется, это излишне для простых задач. Хотя, способ правда хорош!

  7. Если хочешь отдельно обработать float и отрицательные числа, тогда можно написать что-то вроде этого:
    Программный код:
    def count_digits(n):
        if 
    0:
            
    = -n
        
    if '.' in str(n):
            
    str(n).replace('.''')
        return 
    len(str(n))

    print(
    count_digits(-123.45)) 
    Тут мы просто превращаем число в положительное и убираем точку, если это вещественное число.

  8. Цитата Сообщение от MaxRanger
    Если хочешь отдельно обработать float и отрицательные числа, тогда можно написать что-то вроде этого:
    Программный код:
    def count_digits(n):
        if 
    0:
            
    = -n
        
    if '.' in str(n):
            
    str(n).replace('.''')
        return 
    len(str(n))

    print(
    count_digits(-123.45)) 
    Тут мы просто превращаем число в положительное и убираем точку, если это вещественное число.
    Код удобный и понятный. Правда, может добавишь еще проверку на нули в начале и конце? А так, респект за вариант!

  9. Эй, можно даже через рекурсию сделать:
    Программный код:
    def count_digits(n):
        if 
    0:
            
    = -n
        
    if == 0:
            return 
    0
        
    return count_digits(// 10)

    print(count_digits(123456)) 
    Не уверен, насколько это рационально, но работает же!

  10. Цитата Сообщение от Гроза
    Эй, можно даже через рекурсию сделать:
    Программный код:
    def count_digits(n):
        if 
    0:
            
    = -n
        
    if == 0:
            return 
    0
        
    return count_digits(// 10)

    print(count_digits(123456)) 
    Не уверен, насколько это рационально, но работает же!
    Интересный подход с рекурсией, но Python не любит глубокую рекурсию. Может быть риск словить переполнение стека на очень больших числах.

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