считаем буквы в парах слов строки фраз txt

import re

def count_vowels_and_consonants(word):
    vowels = "аеёиоуыэюяАЕЁИОУЫЭЮЯ"
    consonants = "бвгджзйклмнпрстфхцчшщБВГДЖЗЙКЛМНПРСТФХЦЧШЩ"
   
    vowel_count = sum(1 for letter in word if letter in vowels)
    consonant_count = sum(1 for letter in word if letter in consonants)
   
    return vowel_count, consonant_count

def process_line(line):
    words = line.split()
    pairs = [(words[i], words[i+1]) for i in range(len(words)-1)]
   
    results = []
    for first_word, second_word in pairs:
        total_length = len(first_word) + len(second_word)
        first_length = len(first_word)
        second_length = len(second_word)
       
        first_vowels, first_consonants = count_vowels_and_consonants(first_word)
        second_vowels, second_consonants = count_vowels_and_consonants(second_word)
       
        total_vowels = first_vowels + second_vowels
        total_consonants = first_consonants + second_consonants
       
        results.append(f"{first_word} {second_word} {total_length}={first_length}+{second_length} {total_vowels}+{total_consonants}")
   
    return results

def main(filename):
    with open(filename, 'r', encoding='utf-8') as file:
        for line in file:
            line = line.strip()
            if line:  # Проверяем, что строка не пустая
                results = process_line(line)
                for result in results:
                print(result)

if __name__ == "__main__":
    main('текст.txt')  # это имя вашего файла с текстом



  ** ------------------------------------------>


берем фразу строки из файла текст txt utf-8
делаем список пар всех слов из этой фразы
затем считаем число гласных и согласных букв в каждой паре слов

и выводим так -
простое слово 12=7+5 4+8

пояснение что значат эти числа
12 число букв
7 первое слово
5 второе слово
4 гласных буквы
8 согласных букв

далее делаем это с другими фразами в нашем файле


Пояснение к коду:
Функция count_vowels_and_consonants: Эта функция принимает слово и подсчитывает количество гласных и согласных букв в нем.
Функция process_line: Обрабатывает строку, разбивая ее на слова и формируя пары. Для каждой пары слов подсчитываются необходимые значения и формируется строка с результатами.
Функция main: Читает файл построчно, обрабатывает каждую непустую строку и выводит результаты данных этого алгоритма.



пример вывода данных:


я понимаю 8=1+7 5+3
понимаю что 10=7+3 5+5
что это 6=3+3 3+3
это такое 8=3+5 5+3
такое есть 9=5+4 4+4
есть на 6=4+2 2+3
на самом 7=2+5 3+4
самом деле 9=5+4 4+5
и как 4=1+3 2+2
как нам 6=3+3 2+4
нам нужно 8=3+5 3+5
нужно быть 9=5+4 3+5
быть в 5=4+1 1+3
в данном 7=1+6 2+5
данном случае 12=6+6 5+7
мы здесь 7=2+5 2+4
здесь не 7=5+2 2+4
не можем 7=2+5 3+4
можем это 8=5+3 4+4
это сделать 10=3+7 4+5
сделать как 10=7+3 3+6
как то 5=3+2 2+3
то по 4=2+2 2+2
по другому 9=2+7 4+5
это такое 8=3+5 5+3
такое дело 9=5+4 5+4
дело которое 11=4+7 6+5
которое нам 10=7+3 5+5
нам может 8=3+5 3+5
может быть 9=5+4 3+5
быть понятно 11=4+7 4+6
и это 4=1+3 3+1
это также 8=3+5 4+4
также хорошо 11=5+6 5+6
хорошо всё 9=6+3 4+5
всё то 5=3+2 2+3
то что 5=2+3 2+3
что было 7=3+4 3+4
было у 5=4+1 3+2
у нас 4=1+3 2+2
нас до 5=3+2 2+3
до этого 7=2+5 4+3


Рецензии