Итак, ваша проблема в этой строке:
sentence_count = len([char for char in line2 if char in sentence])
Это логическая ошибка, вы хотите посчитать число .
в строке, которую вы, но это понимание списка просто проверяет слова в line2 против вашего предложения . Так как ни одно слово не будет совпадать с .
, таким образом, фразе_счет становится 0. Позже в коде вы делите его на total_words , поэтому он выдает ZeroDivisionError
В действительности вам нужно проверить каждый отдельный символ в line2 относительно вашей переменной line2 . Замените его следующим:
sentence_count = len([char for word in line2 for char in word if char in sentence])
Если вы просто хотите посчитать число .
в line2 и сохранить его в termin__ount , вы можете просто используйте line2.count('.')
, больше pythoni c. Итак, вы над линией сведете к этому:
sentence_count = line2.count('.')