Уведомления

Группа в Telegram: @pythonsu

#1 Март 18, 2016 09:21:25

ta8neta
Зарегистрирован: 2016-03-18
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите написать функции в модуле!!!

Помогите решить задачу:

Создайте модуль 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(“просто три слова”) == ‘просто’

Отредактировано ta8neta (Март 18, 2016 09:23:43)

Офлайн

#2 Март 18, 2016 10:25:13

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Помогите написать функции в модуле!!!

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)

Однако поиграйте с одинаковыми словами. Я специально оставил вам задачу не до конца выполненную.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version