Количество гласных для каждой строки текстового файла - PullRequest
0 голосов
/ 15 апреля 2020

Попытка подсчитать количество гласных в каждой строке текстового файла. Пока что у меня есть следующее:

lc=0
lst=[]
vowel_count={}
with open('frankenstein.txt', 'r') as f:
for line in f:
    no_of_characters=len(line)
    l1=line.lower()
    lc+=1
    if no_of_characters !=1:
        for vowel in "aeiou":
            count=l1.count(vowel)
            vowel_count[vowel]=count

            print(lc, vowel_count)

print(lc, vowel_count)

Я хочу, чтобы на выходе отображалось количество гласных и соответствующий номер строки, что и является целью переменной "l c". Однако, когда код выполняется, он дает следующий вывод:

2128 {'a': 2, 'e': 6, 'i': 0, 'o': 0, 'u': 1}
2128 {'a': 2, 'e': 6, 'i': 5, 'o': 0, 'u': 1}
2128 {'a': 2, 'e': 6, 'i': 5, 'o': 4, 'u': 1}
2128 {'a': 2, 'e': 6, 'i': 5, 'o': 4, 'u': 3}
2129 {'a': 3, 'e': 6, 'i': 5, 'o': 4, 'u': 3}
2129 {'a': 3, 'e': 6, 'i': 5, 'o': 4, 'u': 3}
2129 {'a': 3, 'e': 6, 'i': 4, 'o': 4, 'u': 3}
2129 {'a': 3, 'e': 6, 'i': 4, 'o': 6, 'u': 3}
2129 {'a': 3, 'e': 6, 'i': 4, 'o': 6, 'u': 2}
2130 {'a': 3, 'e': 6, 'i': 4, 'o': 6, 'u': 2}
2130 {'a': 3, 'e': 5, 'i': 4, 'o': 6, 'u': 2}
2130 {'a': 3, 'e': 5, 'i': 2, 'o': 6, 'u': 2}
2130 {'a': 3, 'e': 5, 'i': 2, 'o': 10, 'u': 2}
2130 {'a': 3, 'e': 5, 'i': 2, 'o': 10, 'u': 3}
2131 {'a': 3, 'e': 5, 'i': 2, 'o': 10, 'u': 3}
2131 {'a': 3, 'e': 8, 'i': 2, 'o': 10, 'u': 3}
2131 {'a': 3, 'e': 8, 'i': 2, 'o': 10, 'u': 3}
2131 {'a': 3, 'e': 8, 'i': 2, 'o': 6, 'u': 3}
2131 {'a': 3, 'e': 8, 'i': 2, 'o': 6, 'u': 3}
2132 {'a': 3, 'e': 8, 'i': 2, 'o': 6, 'u': 3}

Я получаю несколько выходов для каждой строки, как мне остановить это?

1 Ответ

0 голосов
/ 15 апреля 2020

Вы печатаете статус после каждой новой найденной гласной. Переместите свой отпечаток изнутри на l oop.

...