Предмет: Информатика, автор: elfoxleo

Найти первое слово. Пайтон.

Напишите функцию first_word, которая в переданной строке найдет ее первое слово.
При решении задачи обратите внимание на следующие моменты:
В строке могут встречаются точки и запятые
Строка может начинаться с буквы или, к примеру, с пробела или точки
В слове может быть апостроф и он является частью слова
Весь текст может быть представлен только одним словом и все
Входные параметры: Строка.
Выходные параметры: Строка.

Пример:
first_word("Hello world") == "Hello"
first_word("greetings, friends") == "greetings"
first_word("don't touch it") == "don't"
first_word("... and so on ...") == "and"
first_word("hi") == "hi"
first_word("Hello.World") == "Hello"

Ответы

Автор ответа: nevereas3
2

Ответ:

def first_word(inp_str):

   tmp_str = inp_str.replace(',', '').replace('.', ' ').strip().split()

   return tmp_str[0] if tmp_str else False

Объяснение:

Как вариант, используя регулярные выражения:

import re


def first_word(inp_str):

   tmp_str = re.sub(r'[.,]', ' ', inp_str).strip().split()

   return tmp_str[0] if tmp_str else False

Из условия неоднозначно утверждение по поводу буквы в начале строки, является ли она полноценным словом, по хорошему, конечно, да, однако вот небольшое исправление, которое не будет определять букву, как слово:

import re

def first_word(inp_str):

   tmp_str = re.sub(r'[.,]', ' ', inp_str).strip().split()

   if tmp_str:

       for i in tmp_str:

           if len(i) == 1:

               continue

           return i

   return False

Удачи

Похожие вопросы
Предмет: Английский язык, автор: elnur5551
Предмет: Русский язык, автор: люляська25