Напишите программу, которая принимает текст и выводит два слова: наиболее часто встречающееся и само
е длинное.
from collections import Counter
def analyze_text(text):
# Разбиваем текст на слова
words = text.split()
# Находим наиболее часто встречающееся слово
most_common_word = Counter(words).most_common(1)[0][0]
# Находим самое длинное слово
longest_word = max(words, key=len)
return most_common_word, longest_word
# Пример использования
input_text = input("Введите текст: ")
most_common, longest = analyze_text(input_text)
print(f"Наиболее часто встречающееся слово: {most_common}")
print(f"Самое длинное слово: {longest}")
import java.util.*;
public class Main {
public static void main(String[] args) {
String text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ut magna eget velit viverra venenatis.";
// Разбиваем текст на слова и подсчитываем количество вхождений каждого слова
Map<String, Integer> wordCounts = new HashMap<>();
String[] words = text.split("\\s+");
for (String word : words) {
wordCounts.put(word, wordCounts.getOrDefault(word, 0) + 1);
}
// Находим наиболее часто встречающееся слово
String mostFrequentWord = Collections.max(wordCounts.entrySet(), Map.Entry.comparingByValue()).getKey();
// Находим самое длинное слово
String longestWord = Arrays.stream(words)
.max(Comparator.comparing(String::length))
.orElse("");
System.out.println("Наиболее часто встречающееся слово: " + mostFrequentWord);
System.out.println("Самое длинное слово: " + longestWord);
}
}
Last updated