מחרוזות - מתקדם

למדנו כבר על פעולות בסיסיות עם מחרוזות ממש כאן ועכשיו אחרי שהתקדמנו קצת בחומר אפשר לחזור ולראות פעולות יותר מתקדמות שניתן לבצע עליהן.

שימו לב

הפעולות הראשונות שנסתכל עליהן ממש זהות לפעולות על רשימות שראינו קודם לכן, ואכן יש דמיון מסוים בין רשימות ומחרוזות, אבל צריך לשים לב שיש פעולות שניתן לבצע על רשימות שלא ניתן לבצע על מחרוזות ולהיפך...

אורך המחרוזת#

הפונקציה len מחזירה את אורך המחרוזת:

חיתוך תת מחרוזת#

ניתן לחלץ תת מחרוזת מתוך מחרוזת באמצעות חיתוך, בצורה זהה לגמרי לחיתוך רשימות:

בנוסף אפשר לגשת למחרוזת בלולאת while:

זהירות

שימו לב שניתן לחתוך תת-מחרוזת (בדומה לרשימה), אבל לא ניתן להחליף תת-מחרוזת (בשונה מרשימה):

במקרה כזה נקבל את השגיאה הבאה:

TypeError: 'str' object does not support item assignment

find#

הפונקציה find מוצאת את האינדקס הראשון של תת המחרוזת שמחפשים. אם תת המחרוזת לא קיימת, הפונקציה תחזיר 1-.

פיצול מחרוזת לרשימה#

הפונקציה split מפצלת מחרוזת לרשימת מחרוזות מבוססת מפריד:

תרגיל- פלינדרומים במשפט#

כתוב תוכנית Python שלוקחת משפט כקלט מהמשתמש. התוכנית שלך צריכה לפצל את המשפט למילים (בהנחה שהמילים מופרדות ברווחים) ולזהות ולהדפיס את כל המילים הפלינדרומיות במשפט בשורה אחת עם פסיקים שמפרידים בין המילים.

מילה פלינדרום היא מילה שקוראת את אותו הדבר קדימה ואחורה. לדוגמה, "radar" היא מילה פלינדרומית.

דוגמאת הדפסה:

Enter a sentence: some words civic radar level
['civic', 'radar', 'level']
כיוון לתרגיל

אתחלו רשימה ריקה ובעזרת לולאה בדקו מילה מילה במשפט. את המילים המתאימות הוסיפו לרשימה הסופית, ובסוף הדפיסו את הרשימה