Menu
CoddyTech

Phân tích từ

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 77 trên 78.

challenge icon

Thử thách

Khó

Viết hàm analyze_text(text) phía trên _ready(). Hàm này phân tích các từ trong một văn bản và trả về một từ điển. _ready() đã cho đọc một dòng văn bản, gọi hàm của bạn và in ra kết quả.

Trước tiên, hãy chuẩn bị các từ:

  • Không phân biệt chữ hoa chữ thường: Hello và hello là cùng một từ, vì vậy hãy chuyển văn bản thành chữ thường
  • Xóa các ký tự sau khỏi văn bản: . , ! ? : ; " ( )
  • Các từ được phân tách bằng dấu cách, và văn bản rỗng không có từ nào

Trả về một từ điển có ba khóa theo thứ tự sau:

  • "unique_count": số lượng từ khác nhau
  • "repeated_words": một mảng chứa các từ xuất hiện nhiều hơn một lần
  • "palindromes": một mảng chứa các từ khác nhau vẫn đọc giống nhau khi đọc ngược, chẳng hạn như level hoặc a

Mỗi từ chỉ xuất hiện một lần trong mảng, và cả hai mảng được sắp xếp theo thứ tự bảng chữ cái. Với văn bản bên dưới:

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

đầu ra là:

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

Tự làm thử

extends Node

func analyze_text(text: String):
	# Viết code của bạn ở đây
	pass


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

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch GDScript online