Напишите функцию, которая будет принимать строку (предложение) и преобразовывать ее так, чтобы вопросительные и восклицательные знаки в конце не повторялись.

Примечания:

  • повторяющиеся знаки исправляем только в конце предложения (внутри строки оставляем без изменений)
  • во входящей строке не будет смешанных знаков (типа ?!??!)
  • если в конце входящего предложения вопросительные или восклицательные знаки отсутствуют, возвращаем его без изменений
  • если в конце только один вопросительный или восклицательный знак, оставляем его без изменения.

Примеры

no_yelling("What went wrong?????????") ➞ "What went wrong?"

no_yelling("Oh my goodness!!!") ➞ "Oh my goodness!"

no_yelling("I just!!! can!!! not!!! believe!!! it!!!") ➞ "I just!!! can!!! not!!! believe!!! it!"

no_yelling("Oh my goodness!") ➞ "Oh my goodness!"

no_yelling("I just cannot believe it.") ➞ "I just cannot believe it."

Варианты решений

import re
def no_yelling(phrase):
    return re.sub("([!?])+$",r"\1",phrase)
def no_yelling(phrase):
    while phrase[-2] == '!' or phrase[-2] == '?':
        phrase = phrase[0:-1]
  
    return phrase

Марина

Recent Posts

10 удалённых Python-вакансий

Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…

6 месяцев ago

Где искать Python-вакансии в 2026 году: зачем на Talanto.work появился отдельный сценарий поиска

Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…

6 месяцев ago

Срезы в Python со всеми подробностями

Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…

8 месяцев ago

Возведение в степень в Python: полное руководство

В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…

9 месяцев ago

Как удалить дубликаты из списка Python?

Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…

9 месяцев ago

Виртуальный (shared) хостинг от SpaceWeb: технический обзор

Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…

11 месяцев ago