Из символов ( ) :
можно составлять веселые и грустные смайлики. Для целей этой задачи:
- веселые смайлики
:)
и(:
оцениваются в 1 балл, - грустные смайлики
:(
и):
оцениваются в -1 балл.
Напишите функцию, которая будет принимать символы ( ) :
в любых сочетаниях и возвращать итоговый счет по количеству веселых и грустных смайликов, которые составляются из переданной последовательности символов.
Рабочий пример
happiness_number(":):(") ➞ -1 # Первые два символа составляют :) +1 Итого: 1 # Второй и третий символы составляют ): -1 Итого: 0 # Третий и четвертый символы составляют :( -1 Итого: -1
Другие примеры
happiness_number(":):(") ➞ -1 happiness_number("(:)") ➞ 2 happiness_number("::::") ➞ 0
Варианты решений
def happiness_number(s): return s.count(':)') + s.count('(:') - s.count(':(') - s.count('):')
def happiness_number(s): c = 0 for a, b in zip(s, s[1:]): if a + b in (':)', '(:'): c += 1 if a + b in (':(', '):'): c -= 1 return c