Считаем количество слогов в стихах на PyQT

Считаем количество слогов в стихах на PyQT

Начинающие поэты пытаются писать стихи, совершенно не учитывая количество слогов в строках. Из-за этого качество стихов получается ниже плинтуса. Дело в том, что в хороших стихах, в тех строках которые рифмуются обычно должно быть одинаковое количество слогов, для поддержания общей симметрии. Количество слогов в стихах равно количеству гласных, но считать их в уме - довольно медленное и неблагодарное занятие. Поэтому я написал простенькую программу на PyQT которое анализирует любое стихотворение и показывает количество слогов в каждой строке. Теперь достаточно посмотреть - симметрично ли количество слогов относительно четверостишия, и можно с уверенностью сказать - отвечает ли стих требованиям высокого искусства, или нет. Заодно я в очередной раз потренировался в написании примера простой программы на Python и PyQT. Пишем программу на PyQT Скачать программу, вместе с модулем интерфейса можно тут: http://pythono.ru/slog.zip А вот исходный код основного модуля с комментариями:

import sys
from check import *
from PyQt5 import QtCore, QtGui, QtWidgets


class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # Вешаем на кнопку функцию PoemCheck
        self.ui.pushButton.clicked.connect(self.PoemCheck)

    # Описываем функцию 
    def PoemCheck(self):
        # Очищаем второе текстовое поле
        self.ui.textEdit_2.setText("")
        # В переменную stroki получаем текст из левого поля ввода
        stroki=self.ui.textEdit.toPlainText()
        # Получаем массив строк разделив текст по знаку переноса строки
        mas=stroki.split('\n')
        # Обнуляем переменную где будут копиться проверенные строки
        rezultat=''
        # Массив гласных букв для подсчёта количества слогов
        glasnye=['а','е','ё','и','о','у','э','ю','я','ы']
        # Перебираем каждую строку стиха
        for stroka in mas:
            kol=0 # Переменная с количеством гласных в строке
            # Перебираем все буквы в строке
            for w in stroka.lower():
                # По очереди сравниваем буквы с гласными
                for bukva in glasnye:
                    # Если буква гласная увеличиваем счетчик
                    if(w==bukva): kol=kol+1
            if(kol>0):
                # Добавляем в конце строки количество слогов
                rezultat=rezultat+stroka+' - '+str(kol)+' слогов'+'\n'
            else:
                rezultat=rezultat+'\n'
        # Выводим в правое поле результат 
        self.ui.textEdit_2.setText(rezultat)

if __name__=="__main__":
    app = QtWidgets.QApplication(sys.argv)
    myapp = MyWin()
    myapp.show()
    sys.exit(app.exec_())

Количество слогов в стихах - считаем на PyQT Лого Pythono.ru Считаем количество слогов в стихах на PyQT