Menu
CoddyTech

词语分析

本课属于 Coddy GDScript 学习旅程的“逻辑与流程”单元。第 77 课,共 78 课。

challenge icon

挑战

困难

在 _ready() 上方编写函数 analyze_text(text)。它会分析文本中的单词并返回一个字典。给定的 _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 在线编译器