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 אונליין