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

Тема: Не могу понять, как скажи словами python

  1. Не могу понять, как скажи словами python

    Ребята, привет! Нужна помощь. Разбираюсь с Python и сталкиваюсь с задачей, где нужно 'скажи словами python' вывести число прописью. Например, 23 должно стать 'двадцать три'. Кто-нибудь знает простое решение, чтобы это не выглядело как кусок костыля? Желательно с примерами, а то я тут себя уж совсем безруким чувствую!



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

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

  3. Привет. Можно воспользоваться библиотекой 'num2words'. Это суперпростое решение:

    Программный код:

    from num2words import num2words



    число 
    23

    словами 
    num2words(числоlang='ru')

    print(
    словами)  # двадцать три 
    Также можно использовать 'inflect', но только для английского. Для русского вариант только num2words.

  4. Цитата Сообщение от Шаолинь
    Привет. Можно воспользоваться библиотекой 'num2words'. Это суперпростое решение:

    Программный код:

    from num2words import num2words



    число 
    23

    словами 
    num2words(числоlang='ru')

    print(
    словами)  # двадцать три 
    Также можно использовать 'inflect', но только для английского. Для русского вариант только num2words.
    Четкий ответ. Я аж сам захотел попробовать, а то постоянно такие вещи на себя костылить приходится.

  5. Йо, кореш. Если не хочешь заморачиваться с либами, вот тебе наколеночный метод:

    Программный код:

    числа 
    = {
        
    0'ноль'1'один'2'два'3'три'4'четыре'
        
    5'пять'6'шесть'7'семь'8'восемь'9'девять'
        
    10'десять'20'двадцать'30'тридцать'
    }
    def скажи_словами(n):
        if 
    n in числа:
            return 
    числа[n]
        
    десяткиединицы divmod(n10)
        return 
    числа[десятки 10] + ' ' числа[единицы]
      
    print(
    скажи_словами(23))  # двадцать три 
    Это работает, но не для всех чисел. Для продакшна лучше библиотеку бери.

  6. Цитата Сообщение от MilesMorales
    Йо, кореш. Если не хочешь заморачиваться с либами, вот тебе наколеночный метод:

    Программный код:

    числа 
    = {
        
    0'ноль'1'один'2'два'3'три'4'четыре'
        
    5'пять'6'шесть'7'семь'8'восемь'9'девять'
        
    10'десять'20'двадцать'30'тридцать'
    }
    def скажи_словами(n):
        if 
    n in числа:
            return 
    числа[n]
        
    десяткиединицы divmod(n10)
        return 
    числа[десятки 10] + ' ' числа[единицы]
      
    print(
    скажи_словами(23))  # двадцать три 
    Это работает, но не для всех чисел. Для продакшна лучше библиотеку бери.
    Ага, саму идею понял, но трассировать такой код в боевом применении может быть больно.

  7. Про(lol)чики, имхо, лучше не париться и юзать уже готовые решения. Num2words - идеал для этого:

    Программный код:

    from num2words import num2words

    print(num2words(42lang='ru'))  # сорок два 
    Либы часто пишутся, чтоб мы "вынесли мозг" на других задачах.

  8. Цитата Сообщение от Alexandr
    Про(lol)чики, имхо, лучше не париться и юзать уже готовые решения. Num2words - идеал для этого:

    Программный код:

    from num2words import num2words

    print(num2words(42lang='ru'))  # сорок два 
    Либы часто пишутся, чтоб мы "вынесли мозг" на других задачах.
    Согласен, аматорство тут не прокачает. Либо умеешь, либо берешь готовое.

  9. Бро, по чесноку, num2words - это костыль на минималках, но может прокатить, если каша мозг взрывает:

    Программный код:

    from num2words import num2words

    7

    print(num2words(nlang='ru'))  # семь 

  10. Цитата Сообщение от Valya
    Бро, по чесноку, num2words - это костыль на минималках, но может прокатить, если каша мозг взрывает:

    Программный код:

    from num2words import num2words

    7

    print(num2words(nlang='ru'))  # семь 
    Максимально просто и эффективно. Нечего лишнего думать.

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