№ 9 (114)
UNIVERSUM:
ТЕХНИЧЕСКИЕ НАУКИ
сентябрь, 2023 г.
ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ
DOI: 10.32743/UniTech.2023.114.9.15965
ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ ПРИ ПОМОЩИ СЛОВ НА УЗБЕКСКОМ ЯЗЫКЕ В PYTHON
Адизова Зухро Маруф кызы
преподаватель, Бухарский государственный университет, Республика Узбекистан, г. Бухара E-mail: evrikiy@list.ru
REPRESENTATION OF NUMERICAL INFORMATION USING WORDS IN THE UZBEK LANGUAGE IN PYTHON
Adizova Zuhra
Lecturer, Bukhara State University, Republic of Uzbekistan, Bukhara
АННОТАЦИЯ
В этой статье описывается технология создания программ для представления чисел словами на языке программирования 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 highlevel 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
Библиографическое описание: Адизова З.М. ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ ПРИ ПОМОЩИ СЛОВ НА УЗБЕКСКОМ ЯЗЫКЕ В PYTHON // Universum: технические науки : электрон. научн. журн. 2023. 9(114). URL: https://7universum.com/ru/tech/archive/item/15965
№ 9 (114)
UNIVERSUM:
ТЕХНИЧЕСКИЕ НАУКИ
сентябрь, 2023 г.
Run: C* main -
> C:\Users\attalaba\.virtualenvs\pythonProjectl\Scripts\python.exe C:\Users\attalaba\PycharmProjects\pythonProjectl\main.py
p two hundred and thirty-four thousand, five hundred and sixty-seven
^ Process finished with exit code 8
» * 1
tt * i
Рисунок 1. Результат работы программы преобразования цифре их названия на английском языке
с помощью inflect
Этот пакет выводит слова на английском языке, а также используется для других языков. Для этого существует специальная возможность - еще один пакет. Имя пакета: num2words. Этот пакет не только преобразует числа в слова, но и переводит их на другие языки, которые существуют в списке библиотеки Python.
Например:
from num2words import num2words print(num2words(3 69))
Примечание. Перед запуском этой программы необходимо загрузить пакет из терминала с помощью команды pip install num2words.
Результат: three hundred and sixty-nine
С:\Users\attalaba\.virtualenvs\pythonProjectl\Scripts\python.exe С:\Users\attalaba\PycharmProjects\pythonProjectl\main.py e, three hundred and sixty-nine
Process finished with exit code Q
Рисунок 2. Результат работы программы преобразования цифр в их названия на английском языке
с помощью num2words
Введённое число будет выведено на английском языке, если мы не добавим в пакет метод Lang. С помощью метода Lang можно будет применять любой язык, который предусмотрен библиотекой Python. В списке этой библиотеки нет узбекского языка.
Например:
from num2words import num2words print(num2words(369, lang ='ru')) Примечание. Мы можем отобразить код нужного языка из списка библиотеки Python в метод Lang.
Результат: триста шестьдесят девять
C:\Users\attalaba\.virtualenvs\pythonProjectl\Scripts\python.exe C:\Users\attalaba\PycharmProjects\pythonProjectl\main.py триста шестьдесят девять
Process finished with exit code 0
Рисунок 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
№ 9 (114)
UNIVERSUM:
ТЕХНИЧЕСКИЕ НАУКИ
сентябрь, 2023 г.
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)
Примечание. Эта программа выдает результат только на узбекском языке. Результат:
Run: e* main x
C:\Users\attalaba\.virtualenvs\pythonProjectl\Scripts\python.exe C:\Users\attalaba\PycharmProiects\pythonProjectl\main.py p Sonni kiriting=
_ to'rt million besh yuz sakson yetti ming to'qqiz yuz oltmish besh >
ni — Process finished with exit code Q
- * I
Рисунок 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.trans-late(suz,dest=d) print(r.text) #print(suz) Результат:
*
№ 9 (114)
UNIVERSUM:
ТЕХНИЧЕСКИЕ НАУКИ
сентябрь, 2023 г.
Sonni kiriting=32796354 Qaysi tilni tanlaysiz fr
trente-deux millions sept cent quatre-vingt-seize mille trois cent cinquante-qua
Список литературы:
1. Атаева Г.И., Асадова О.А. Проблемы и решения в преподавании информатики //ПРИОРИТЕТНЫЕ НАПРАВЛЕНИЯ РАЗВИТИЯ НАУКИ И ОБРАЗОВАНИЯ: сборник статей XX Международной научнопрак-тической конференции. - 2021. - Т. 1. - С. 169-171.
2. Атаева Гульсина Исроиловна, Минич Людмила Станиславовна СОЗДАНИЕ ВЫВОДА СКРИПТА PYTHON // Вестник науки и образования. 2021. №1-2 (104). URL: https://cyberleninka.ru/artide/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).