Grey0808
Сколько в предложении слов она не знает. Значит сначала подсчитать их, как это сделать я не нашёл.
>>> len('abc def ghi'.split())
3
>>>
У тебя неправильно то, что ты сразу планируешь алгоритм и сразу пишешь код. Надо разделить написание программы на этапы: сначала полное планирование алгоритма, затем уже полное написание кода
по завершённому плану.
Так что у тебя получается каша из того, что надо сделать, и того, как что-то сделать. Многие вещи ведь делать вообще не придётся, потому что они неподходящие для решения, но ты потратишь время впустую на продумывание кода, который делает эти неподходящие для решения вещи. Чтобы время не тратить на написание кода впустую, сначала нужно продумать, что вообще делать и нужны ли все этапы.
И вот когда у тебя будет план, тогда ты и можешь думать, каким кодом его реализовать, потому что один и тот же алгоритм можно записать разными кодами. Типа как аппликатура в барабанах: четыре удара можно выполнить одной рукой, можно выполнить другой рукой, можно два удара одной рукой и два удара другой рукой. Звучать это будет одинаково при любом из этих разных вариантов исполнения. То же самое касается алгоритма и набора кодов для него.
Как будет чёткий, выверенный план, пиши его сюда. В нём не должно быть кода вообще. Только описание алгоритма.