Найти первое слово. Пайтон.
Напишите функцию 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"
Ответы
Ответ:
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
Удачи