ניתוח מילים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Python של Coddy. שיעור 77 מתוך 78.
אתגר
קשהצרו פונקציה בשם analyze_text שמנתחת מילים במחרוזת טקסט.
הפונקציה שלכם צריכה:
- לספור מילים ייחודיות (ללא הבחנה בין אותיות רישיות לקטנות)
- למצוא את כל המילים שמופיעות יותר מפעם אחת
- לזהות את כל המילים הפלינדרומיות (מילים שנקראות באותו אופן קדימה ואחורה, כמו "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כל השיעורים ביחידה לוגיקה וזרימת תוכנית
4יישום ספר אנשי קשר
הצגת התפריטהוספת איש קשר7קבוצות חלק 2
פעולות מתמטיות חלק 1פעולות מתמטיות חלק 2סיכום – חיפוש אוצרתת־קבוצות וקבוצות־עלמעבר על קבוצותסיכום – מעקב אחר טורניר8מנהל רישומי תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר Python אונליין