Menu
Coddy logo textTech

ניתוח מילים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Python של Coddy. שיעור 77 מתוך 78.

challenge icon

אתגר

קשה

צרו פונקציה בשם analyze_text שמנתחת מילים במחרוזת טקסט.

הפונקציה שלכם צריכה:

  1. לספור מילים ייחודיות (ללא הבחנה בין אותיות רישיות לקטנות)
  2. למצוא את כל המילים שמופיעות יותר מפעם אחת
  3. לזהות את כל המילים הפלינדרומיות (מילים שנקראות באותו אופן קדימה ואחורה, כמו "level")

החזירו מילון עם שלושה מפתחות:

  • unique_count: מספר המילים הייחודיות (ספרו גם מילים שחוזרות פעם אחת כל אחת)
  • repeated_words: רשימה ממוינת של מילים שמופיעות יותר מפעם אחת
  • palindromes: רשימה ממוינת של מילים פלינדרומיות

הערות:

  • התייחסו למילים ללא הבחנה בין אותיות רישיות לקטנות (למשל, "Hello" ו-"hello" הן אותה מילה)
  • הסירו מהמילים סימני פיסוק (.,!?:;"())
  • מיינו בסדר אלפביתי את הרשימות repeated_words ו-palindromes

קלט לדוגמה:

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

פלט צפוי:

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

נסו בעצמכם

def analyze_text(text):
    # הפתרון שלך כאן
    
    # 1. פצל את הטקסט למילים ונרמל אותן
    # (המר לאותיות קטנות והסר סימני פיסוק)
    
    # 2. ספור את מספר ההופעות של כל מילה
    
    # 3. מצא את מספר המילים הייחודיות
    
    # 4. זהה מילים חוזרות (שמופיעות יותר מפעם אחת)
    
    # 5. מצא מילים שהן פלינדרומים
    
    # 6. החזר את התוצאות במילון עם רשימות ממוינות
    pass

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Python אונליין