Menu
CoddyTech

Анализ слов

Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 77 из 78.

challenge icon

Задание

Сложно

Напиши функцию analyze_text(text) выше _ready(). Она анализирует слова в тексте и возвращает словарь. Данная функция _ready() считывает одну строку текста, вызывает твою функцию и выводит результат.

Сначала подготовь слова:

  • Регистр букв не имеет значения: Hello и hello — это одно и то же слово, поэтому работай со строчными буквами
  • Удали из текста следующие символы: . , ! ? : ; " ( )
  • Слова разделяются пробелами, а пустой текст не содержит слов

Верни словарь с тремя ключами в следующем порядке:

  • "unique_count": количество различных слов
  • "repeated_words": массив слов, встречающихся более одного раза
  • "palindromes": массив различных слов, которые одинаково читаются в обратном порядке, например level или a

Каждое слово встречается в массиве один раз, и оба массива отсортированы по алфавиту. Для приведённого ниже текста:

Madam saw a racecar. Dad said hello hello to mom.

результат будет таким:

{ "unique_count": 9, "repeated_words": ["hello"], "palindromes": ["a", "dad", "madam", "mom", "racecar"] }

Попробуйте сами

extends Node

func analyze_text(text: String):
	# Напишите свой код здесь
	pass


func _ready():
	var text := OS.read_string_from_stdin()
	print(analyze_text(text))

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript