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