leg3
25.03.2021 04:02

Подскажите что не так

class MinMaxWordFinder:

def __init__(self):

self.min_word = 0

self.max_word = 0

self.list_word = []

def add_sentence(self, text):

self.list_word += text.split()

self.min_word = len(min(self.list_word, key=len))

self.max_word = len(max(self.list_word, key=len))

def shortest_words(self):

return sorted(list(filter(lambda x: len(x) == self.min_word, self.list_word)))

def longest_words(self):

return sorted(set(filter(lambda x: len(x) == self.max_word, self.list_word)))

Условие:

Напишите класс MinMaxWordFinder. Класс должен уметь анализировать текст и находить в нём слова наименьшей и наибольшей длины. Текст состоит из предложений, которые добавляются в обработку методом add_sentence. Метод shortest_words возвращает список самых коротких на данный момент слов, метод longest_words — самых длинных. Слова, возвращаемые методами shortest_words и longest_words, должны быть отсортированы по алфавиту.

Если одно из самых коротких слов встретилось в исходных предложениях несколько раз, оно должно столько же раз повториться в списке самых коротких слов. Самые длинные слова наоборот должны входить в список без повторов.

Формат ввода
Каждый тест представляет собой код, в котором будет использоваться ваш класс. Файл c решением не обязательно называть solution.py, он будет переименован автоматически. Тест запускается с вашим классом, а его вывод сравнивается с правильным решением.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
НастяandТима
18.04.2021 15:28
ответ:Вися́чие сады́ Семирами́ды — одно из Семи чудес античного мира, которое представляло собой инженерное сооружение в Вавилоне с каскадом многоуровневых садов, где росли многочисленные породы деревьев, кустарников и виноградных лоз, производившее впечатление большой зелёной горы. Единственное из Семи чудес, местонахождение которого окончательно не установлено[1] и, более того, подвергается сомнению сам факт его существования[⇨], поскольку не сохранилось никаких вавилонских текстов, в которых упоминаются эти сады, описания садов имеются лишь у поздних древнегреческих и римских авторов[⇨], а археологические раскопки в районе предполагаемого местонахождения садов также не дали результато
0,0(0 оценок)
Ответ:
annaoroku3
08.10.2020 08:35
Var
  arr: array[1..27] of integer;
  summ: integer;
begin
  Randomize;
  for var i := 1 to 27 do
  begin
    arr[i] := random(-5, 5);
    summ := summ + arr[i];
  end;
  writeln('Массив: ',arr);
  writeln('Сумма всех элементов массива = ',summ);
  for var i := 1 to 27 do if arr[i] = 0 then arr[i] := summ;
  writeln('Массив: ',arr);
end.

пример работы:
Массив: [5,-1,1,5,4,-2,-3,0,3,5,-3,-4,3,0,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1]
Сумма всех элементов массива = 14
Массив: [5,-1,1,5,4,-2,-3,14,3,5,-3,-4,3,14,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1]

var
  arr: array of integer;
  n,k,m: integer;
begin
  write('Введи n: ');
  readln(n);
  Randomize;
  arr:= new integer[n];
  for var i := 0 to n-1 do arr[i] := random(-5, 5);
  writeln('Массив: ',arr);
  for var i := 0 to n-1 do
  begin
    if arr[i]<0 then inc(k);
    if (i>=1) and (i<=6) then inc(m);
    if (i>=6) and (arr[i]>=0) then arr[i]:=1;
  end;
  writeln('Количество отрицательных элементов массива = ',k);
  writeln('Количество элементов массива в интервале [2..7] = ',m);
  writeln('Массив: ',arr);
end.

Пример работы:
Введи n: 5
Массив: [0,1,-4,1,3]
Количество отрицательных элементов массива = 1
Количество элементов массива в интервале [2..7] = 4
Массив: [0,1,-4,1,3]

Введи n: 15
Массив: [0,1,4,3,-3,5,-4,-1,1,-2,3,1,-4,1,3]
Количество отрицательных элементов массива = 5
Количество элементов массива в интервале [2..7] = 6
Массив: [0,1,4,3,-3,5,-4,-1,1,-2,1,1,-4,1,1]
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота