Найти - Пользователи
Полная версия: Пара вопросов по Tkinter
Начало » Python для новичков » Пара вопросов по Tkinter
1
pa1fon
Начал изучать “Python” и решил написать свою первую программку, которая переводит текст с латиницы на кирилицу.

1. Перевод я реализовал через:

Первый вариант: Создав словарь и через “for”
Второй вариант: Через функцию “maketrans()” + “translate()”

… заменяя каждую букву в тексте.

Проблема была в том, у меня не получилось с ними заменить словосочетания “ya” на “я” или “shh” на “щ”, так как они только по одной букве могут переводить за раз. Пришлось лепить такой костыль:

new_translation_1=translation.replace("ЫА","Я")
new_translation_2=translation1.replace("Ыа","Я")
new_translation_3=new_translation2.replace("ыа","я")
...

Он хоть и работает, но мне он не нравится. Думаю, что это можно сделать короче чем писать 20+ функций “replace” подряд. Как это улучшить?

2) Сделал GUI с “Tkinter” для этого скрипта, который состоит из “Input”-Text-Box и “Output”-Text-Box. При нажатии на кнопку текст переводится. Не нашёл как это реализовать без кнопки. То есть, как только я ввожу букву, скрипт активируется и она уже автоматически переводится в “Output”-Text-Box. Хотелось бы ещё, чтобы это можно было реализовать в одном “Text-Box” (Input=Output). Реально-ли это?


doza_and
Я бы наверное делал конечный автомат. Доп модули для этого не нужны.

Задача для новичка не очень простая. Такие преобразования называются транслитерация и для этого естественно есть спец модули например https://pypi.org/project/transliterate/ :).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB