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

Тема: Как выделить первую цифру числа в питоне: Нужна помощь!

  1. Как выделить первую цифру числа в питоне: Нужна помощь!

    Эй, ребята! Помогите пож, не могу понять, как выделить первую цифру числа в питоне. Пишу небольшой проект, и вот прямо залип на этом моменте. Надо как-то вытащить первую цифру из числа, будь оно положительное или отрицательное. Какие способы есть? Как лучше это сделать, чтоб и код красивый был и работало быстро? Пожалуйста, поясните, с примерчиком. Благодарю заранее!



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

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

  3. Привет! Попробуй этот способ, он довольно простой:
    Программный код:
    def get_first_digit(num):
    num_str str(abs(num))  # преобразуем в строку и берем модуль, чтобы работало и для отрицательных
    return int(num_str[0])   # возвращаем первую цифру

    print(get_first_digit(4567))   # выведет 4
    print(get_first_digit(-123))   # выведет 1 
    Здесь я сначала беру модуль числа, чтобы убрать возможный минус, потом превращаю его в строку и просто беру первый символ. Надеюсь, поможет!

  4. Цитата Сообщение от Feral
    Привет! Попробуй этот способ, он довольно простой:
    Программный код:
    def get_first_digit(num):
    num_str str(abs(num))  # преобразуем в строку и берем модуль, чтобы работало и для отрицательных
    return int(num_str[0])   # возвращаем первую цифру

    print(get_first_digit(4567))   # выведет 4
    print(get_first_digit(-123))   # выведет 1 
    Здесь я сначала беру модуль числа, чтобы убрать возможный минус, потом превращаю его в строку и просто беру первый символ. Надеюсь, поможет!
    Чувак, очень четкий способ! Работает безотказно. Спасибо, что расписал, так намного понятнее.

  5. А ты можешь сделать это с помощью математики. Погляди:
    Программный код:
    import math

    def get_first_digit_math
    (num):
    num abs(num)
    while 
    num >= 10:
    num //= 10
    return num

    print(get_first_digit_math(9876))  # выведет 9
    print(get_first_digit_math(-555))  # выведет 5 
    Да, больше кода, зато чисто математика без преобразования в строки. Тоже хороший вариант.

  6. Цитата Сообщение от Mizalu
    А ты можешь сделать это с помощью математики. Погляди:
    Программный код:
    import math

    def get_first_digit_math
    (num):
    num abs(num)
    while 
    num >= 10:
    num //= 10
    return num

    print(get_first_digit_math(9876))  # выведет 9
    print(get_first_digit_math(-555))  # выведет 5 
    Да, больше кода, зато чисто математика без преобразования в строки. Тоже хороший вариант.
    Математика - сила, бро! Но, мне правда преобразование в строку попроще кажется. Хотя, это дело вкуса.

  7. Yo, а что если регулярками заюзать? Вроде как это:
    Программный код:
    import re

    def get_first_digit_regex
    (num):
    match re.search(r'\d'str(num))
    return 
    int(match.group()) if match else None

    print(get_first_digit_regex(30234))  # выведет 3
    print(get_first_digit_regex(-897))   # выведет 8 
    Немного избыточно может, но заработало, че.

  8. Цитата Сообщение от zjbo33
    Yo, а что если регулярками заюзать? Вроде как это:
    Программный код:
    import re

    def get_first_digit_regex
    (num):
    match re.search(r'\d'str(num))
    return 
    int(match.group()) if match else None

    print(get_first_digit_regex(30234))  # выведет 3
    print(get_first_digit_regex(-897))   # выведет 8 
    Немного избыточно может, но заработало, че.
    Регулярки тут, это ты замутил! Круто, но немного тяжеловато для такой задачи. Но любопытно.

  9. Есть еще простое решеньице. Использовать функцию `divmod`:
    Программный код:
    def get_first_digit_divmod(num):
    num abs(num)
    while 
    num >= 10:
    num divmod(num10)[0]
    return 
    num

    print(get_first_digit_divmod(2415))  # выведет 2
    print(get_first_digit_divmod(-762))  # выведет 7 
    Попробуй, мое любимое решение.

  10. Цитата Сообщение от Сергей Демидов
    Есть еще простое решеньице. Использовать функцию `divmod`:
    Программный код:
    def get_first_digit_divmod(num):
    num abs(num)
    while 
    num >= 10:
    num divmod(num10)[0]
    return 
    num

    print(get_first_digit_divmod(2415))  # выведет 2
    print(get_first_digit_divmod(-762))  # выведет 7 
    Попробуй, мое любимое решение.
    Divmod - прикольная идея! Спасибо, братан. Пойду тестить.

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