Напишите функцию с именем 'string_type', которая принимает один строковый аргумент и определяет тип строки.
Если строка пуста, вернуть «пусто».
Если строка представляет собой один символ, вернуть «символ».
Если строка представляет собой одно слово,вернуть «слово».Строка является одним словом, если в ней нет пробелов.
Если строка представляет собой целое предложение, верните «предложение».Строка является предложением, если она содержит пробелы, но не более одного периода.
Если строка является абзацем, верните «абзац».Строка является абзацем, если она содержит пробелы и несколько периодов (мы не будем беспокоиться о других знаках препинания).
Если строка состоит из нескольких абзацев, верните «page».Строка является абзацем, если она содержит символы новой строки ("\ n").
Мне разрешено использовать встроенные строковые функции Python 3 (например, len, count и т. Д.)
Мне удалось написать функцию с разными условиями.Сначала я пытался выполнить условия в порядке, указанном в проблеме, однако я не получал ответов, соответствующих моему тестовому примеру.Затем я изменил порядок, начиная с условия, чтобы проверить, является ли строка страницей, затем абзацем и т. Д.
def string_type(a_string):
if a_string.count("\n") >= 1:
return "page"
elif a_string.count("") >= 1 and a_string.count(".") > 1:
return "paragraph"
elif len(a_string) > 1 and a_string.count("") > 1 and a_string.count(".") == 1:
return "sentence"
elif len(a_string) > 1 and a_string.count("") == 0:
return "word"
elif len(a_string) == 1:
return "character"
else:
return "empty"
Ниже приведены некоторые строки кода, которые будут проверять вашу функцию.Вы можете изменить значение переменной (ей), чтобы протестировать вашу функцию с различными входами.
Если ваша функция работает правильно, это будет первоначально печатать
#empty
#character
#word
#sentence
#paragraph
#page
print(string_type(""))
print(string_type("!"))
print(string_type("CS1301."))
print(string_type("This is too many cases!"))
print(string_type("There's way too many ostriches. Why are there so many ostriches. The brochure said there'd only be a few ostriches."))
print(string_type("Paragraphs need to have multiple sentences. It's true.\nHowever, two is enough. Yes, two sentences can make a paragraph."))
Когда я запусту свой текущий код, Я получаю следующие результаты:
#empty
#character
#sentence (instead of word)
#empty (instead of sentence)
#paragraph
#page
Я настраивал оба слова и условные предложения, однако я не нашел, как исправить.Любое объяснение того, что я сделал не так и как исправить, приветствуется.