Не могу решить задачу на 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.
