Не могу решить задачу на Pуthon

Мой код

HCount = 0
LCount = 0
WithoutHCount = 0
stroke = list()
while "SILENCE" not in stroke:
    if "hate" in stroke:
        HCount += 1
    if "love" in stroke:
        LCount += 1
    if "hate" not in stroke:
        WithoutHCount += 1
    stroke = str(input()).split(" ")
if HCount > WithoutHCount:
    print("To the rain.")
if (HCount <= WithoutHCount) and LCount > HCount:
    print("To the sun.")
else:
    print("Cloudy")

Ответы (1 шт):

Автор решения: vlados155

Думаю, такой вариант сработает:

hate_count = 0
love_count = 0
without_hate_count = 0
stroke = str(input())

while "SILENCE" not in stroke:
    if "hate" in stroke:
        hate_count += 1
    else:
        without_hate_count += 1
    if "love" in stroke:
        love_count += 1
    stroke = str(input())

if hate_count > without_hate_count:
    print("To the rain.")
elif (hate_count <= without_hate_count) and love_count > hate_count:
    print("To the sun.")
else:
    print("Cloudy")

Теперь переменная stroke принадлежит к типу str и принимает первую строку ещё до цикла. Если в строке есть необходимое слово или оно отсутствует, соответствующий счётчик увеличивается. Также я использовал оператор if elif else вместо if if else для увеличения скорости работы программы. Также поменял имена переменным, чтобы они соответствовали стандарту PEP-8.

→ Ссылка