ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ ПРИ ПОМОЩИ СЛОВ НА УЗБЕКСКОМ ЯЗЫКЕ В PYTHON

REPRESENTATION OF NUMERICAL INFORMATION USING WORDS IN THE UZBEK LANGUAGE IN PYTHON
Адизова З.М.
Цитировать:
Адизова З.М. ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ ПРИ ПОМОЩИ СЛОВ НА УЗБЕКСКОМ ЯЗЫКЕ В PYTHON // Universum: технические науки : электрон. научн. журн. 2023. 9(114). URL: https://7universum.com/ru/tech/archive/item/15965 (дата обращения: 18.11.2024).
Прочитать статью:
DOI - 10.32743/UniTech.2023.114.9.15965

 

АННОТАЦИЯ

В этой статье описывается технология создания программ для представления чисел словами на языке программирования Python на узбекском языке. Язык программирования Python в настоящее время имеет высокий рейтинг и является оптимальным языком программирования высокого уровня. Этот язык программирования очень эффективен, прост в использовании при создании программ. Сегодня очень важно программировать на современном языке программирования Python. В статье рассматриваются способы описания чисел словами, которых не существует на узбекском языке.

ABSTRACT

This article describes the technology of creating programs for representing numbers with words in the Python programming language in Uzbek. The Python programming language currently has a high rating and is the optimal high-level programming language. This programming language is very effective, easy to use when creating programs. Today it is very important to program in the modern Python programming language. The article discusses ways to describe numbers with words that do not exist in the Uzbek language.

 

Ключевые слова: Python, язык программирования, графика, технология, информация, компьютер, программное обеспечение.

Keywords: Python, programming language, graphics, technology, information, computer, software.


 

В этой статье мы рассмотрим создание программы, которая преобразует введенные числа в слова. Эта программа создана на языке программирования Python. Чтобы отобразить введенное число словами, в Python имеется готовая библиотека пакетов, имя пакета – inflect

Этот пакет очень удобен и позволяет преобразовывать числа в слова на английском языке.

Например:

import inflect
p = inflect.engine()

print(p.number_to_words(234567))

Примечание. Перед запуском этой программы необходимо загрузить пакет из терминала с помощью команды pip install inflect.

Результат: one million, two hundred and thirty-four thousand, five hundred and sixty-seven

 

Рисунок 1. Результат работы программы преобразования цифр в их названия на английском языке с помощью inflect

 

Этот пакет выводит слова на английском языке, а также используется для других языков. Для этого существует специальная возможность – еще один пакет. Имя пакета: num2words. Этот пакет не только преобразует числа в слова, но и переводит их на другие языки, которые существуют в списке библиотеки Python.

Например:

from num2words import num2words

print(num2words(369))

Примечание. Перед запуском этой программы необходимо загрузить пакет из терминала с помощью команды pip install num2words.

Результат: three hundred and sixty-nine

 

Рисунок 2. Результат работы программы преобразования цифр в их названия на английском языке с помощью num2words

 

Введённое число будет выведено на английском языке, если мы не добавим в пакет метод Lang. С помощью метода Lang можно будет применять любой язык, который предусмотрен библиотекой Python. В списке этой библиотеки нет узбекского языка.

Например:

from num2words import num2words

print(num2words(369, lang ='ru'))

Примечание. Мы можем отобразить код нужного языка из списка библиотеки Python в метод Lang.

Результат: триста шестьдесят девять

 

Рисунок 3. Результат работы программы преобразования цифр в их названия на русском языке с помощью lang ='ru'

 

Ниже рассмотрим программный код для преобразования чисел в слова на узбекском языке. Данный код был добавлен в библиотеку Python и позволяет вызывать узбекский язык из списка библиотеки в методе Lang.

Пример:

import numpy as np

bir=np.array(["bir ","ikki ","uch ","to'rt ","besh ","olti ","yetti ","sakkiz ","to'qqiz "])

un=np.array(["o'n ","yigirma ","o'ttiz ","qirq ","ellik ","oltmish ","etmish ","sakson ","to'qson "])

yuz="yuz "

ming="ming "

million="million "

milyat="milyard "

suz=" "

n=int(input("Sonni kiriting="))

while n>9:

    if (n>99999999 and n<=999999999):

        m=n//100000000

        suz = suz + bir[m - 1]+yuz

        n = n - m * 100000000

    elif (n>9999999 and n<=99999999):

        m=n//10000000

        suz = suz + un[m - 1]

        n = n - m * 10000000

    elif (n>999999 and n<=9999999):

        m=n//1000000

        suz = suz + bir[m - 1]+million

        n = n - m * 1000000

    elif (n>99999 and n<=999999):

        m=n//100000

        suz = suz + bir[m - 1]+yuz

        n = n - m * 100000

    elif (n>9999 and n<=99999):

        m=n//10000

        suz = suz + un[m - 1]

        n = n - m * 10000

    elif (n>999 and n<=9999):

        m=n//1000

        suz = suz + bir[m - 1]+ming

        n = n - m * 1000

    elif (n>99 and n<=999):

        m=n//100

        suz = suz + bir[m - 1]+yuz

        n = n - m * 100

    elif (n>9 and n<=99):

        m=n//10

        suz = suz + un[m-1]

        n= n - m * 10

if n!=0:

    suz=suz+bir[n-1]

print(suz)

Примечание. Эта программа выдает результат только на узбекском языке.

Результат:

 

Рисунок 4. Результат работы программы преобразования цифр в их названия на узбекском языке

 

В этой программе мы использовали список массивов, а также используется библиотека Python с именем numpy. Эта программа преобразует числа до миллиарда в слова на узбекском языке. Помимо узбекского в эту программу можно включить и другие языки. Для этого мы будем использовать пакет Python Googletranslate. (По требованию Роскомнадзора информируем, что иностранное лицо, владеющее информационными ресурсами Google является нарушителем законодательства Российской Федерации – прим. ред.)

import numpy as np

from googletrans import Translator (По требованию Роскомнадзора информируем, что иностранное лицо, владеющее информационными ресурсами Google является нарушителем законодательства Российской Федерации – прим. ред.)

translator=Translator()

n=int(input("Sonni kiriting="))

d=input("Qaysi tilni tanlaysiz ")

bir=np.array(["bir ","ikki ","uch ","to'rt ","besh ","olti ","yetti ","sakkiz ","to'qqiz "])

un=np.array(["o'n ","yigirma ","o'ttiz ","qirq ","ellik ","oltmish ","etmish ","sakson ","to'qson "])

yuz="yuz "

ming="ming "

million="million "

milyat="milyat "

suz=" "

while n>9:

    if (n>99999999 and n<=999999999):

        m=n//100000000

        suz = suz + bir[m - 1]+yuz

        n = n - m * 100000000

    elif (n>9999999 and n<=99999999):

        m=n//10000000

        suz = suz + un[m - 1]

        n = n - m * 10000000

    elif (n>999999 and n<=9999999):

        m=n//1000000

        suz = suz + bir[m - 1]+million

        n = n - m * 1000000

    elif (n>99999 and n<=999999):

        m=n//100000

        suz = suz + bir[m - 1]+yuz

        n = n - m * 100000

    elif (n>9999 and n<=99999):

        m=n//10000

        suz = suz + un[m - 1]

        n = n - m * 10000

    elif (n>999 and n<=9999):

        m=n//1000

        suz = suz + bir[m - 1]+ming

        n = n - m * 1000

    elif (n>99 and n<=999):

        m=n//100

        suz = suz + bir[m - 1]+yuz

        n = n - m * 100

    elif (n>9 and n<=99):

        m=n//10

        suz = suz + un[m-1]

        n= n - m * 10

if n!=0:

    suz=suz+bir[n-1]

r=translator.translate(suz,dest=d)

print(r.text)

#print(suz)

Результат:

 

Список литературы:

  1. Атаева Г.И., Асадова О.А. Проблемы и решения в преподавании информатики //ПРИОРИТЕТНЫЕ НАПРАВЛЕНИЯ РАЗВИТИЯ НАУКИ И ОБРАЗОВАНИЯ: сборник статей XX Международной научнопрактической конференции. – 2021. – Т. 1. – С. 169-171.
  2. Атаева Гульсина Исроиловна, Минич Людмила Станиславовна СОЗДАНИЕ ВЫВОДА СКРИПТА PYTHON // Вестник науки и образования. 2021. №1-2 (104). URL: https://cyberleninka.ru/article/n/sozdanie-vyvoda-skripta-python (дата обращения: 07.09.2023).
  3. Bo‘ronova G., Adizova Z. Umumiy orta talim maktablari robototexnika togaraklarida Arduino-uno dasturidan foydalanish // ЦЕНТР НАУЧНЫХ ПУБЛИКАЦИЙ (buxdu. uz). – 2021. – Т. 3. – №. 3.
  4. Основные возможности библиотеки Python Imaging Library / Pillow / PIL [Электронный ресурс]. -Режим доступа: https://pythonru.com/biblioteki/osnovnye-vozmozhnosti-biblioteki-python-imaging-library-pillow-pil?ysclid=l0t8ljp8w (дата обращения: 07.09.2023).
Информация об авторах

преподаватель, Бухарский государственный университет, Республика Узбекистан, г. Бухара

Lecturer, Bukhara State University, Republic of Uzbekistan, Bukhara

Журнал зарегистрирован Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), регистрационный номер ЭЛ №ФС77-54434 от 17.06.2013
Учредитель журнала - ООО «МЦНО»
Главный редактор - Ахметов Сайранбек Махсутович.
Top