Menu
CoddyTech

Análise de Palavras

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 77 de 78.

challenge icon

Desafio

Difícil

Escreva a função analyze_text(text) acima de _ready(). Ela analisa as palavras de um texto e retorna um dicionário. O _ready() fornecido lê uma linha de texto, chama sua função e imprime o resultado.

Prepare as palavras primeiro:

  • As palavras não diferenciam maiúsculas de minúsculas: Hello e hello são a mesma palavra, então trabalhe com letras minúsculas
  • Remova estes caracteres do texto: . , ! ? : ; " ( )
  • As palavras são separadas por espaços, e um texto vazio não tem palavras

Retorne um dicionário com três chaves, nesta ordem:

  • "unique_count": o número de palavras diferentes
  • "repeated_words": um array das palavras que aparecem mais de uma vez
  • "palindromes": um array das palavras diferentes que podem ser lidas da mesma forma de trás para frente, como level ou a

Cada palavra aparece uma vez em um array, e ambos os arrays são ordenados alfabeticamente. Para o texto abaixo:

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

a saída é:

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

Experimente você mesmo

extends Node

func analyze_text(text: String):
	# Escreva seu código aqui
	pass


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

Todas as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online