ta8neta
Март 18, 2016 09:21:25
Помогите решить задачу:
Создайте модуль wordtools.py, содержащий следующие функции:
1. cleanword(s) - возвращает s без знаков препинания. Например, cleanword(“what?”) == “what”
2. extract_words(s) - возвращает список слов из строки s. Например, extract_words(“просто три слова”) == ‘просто’, ‘три’, ‘слова’
2. get_words_count(s) - возвращает количество слов в строке s. Например, get_words_count(“просто три слова”) == 3
3. get_longest_word(s) - возвращает самое длинное слово в строке s. Например, get_longest_word(“просто три слова”) == ‘просто’
ZerG
Март 18, 2016 10:25:13
wordtools.py
# -*- coding: utf-8 -*-
import re
def cleanword(s):
delete = re.compile(u'\W+?', re.UNICODE)
return delete.sub(' ', s)
def extract_words(s):
world_ext = cleanword(s).split()
return world_ext
def get_words_count(s):
return len(extract_words(s))
def get_longest_word(s):
max = 0
for word in extract_words(s):
if len(word) > max:
max = len(word)
result = word
return result
if __name__ == '__main__':
main()
Пример использования
# -*- coding: utf-8 -*-
import wordtools as wt
stroka = 'This, is the test, stringing!'
print wt.cleanword(stroka)
print wt.extract_words(stroka)
print wt.get_words_count(stroka)
print wt.get_longest_word(stroka)
Однако поиграйте с одинаковыми словами. Я специально оставил вам задачу не до конца выполненную.