You are on page 1of 20

‫פייתון ‪3‬‬

‫‪PYTHON‬‬ ‫מחרוזות ב‪-‬‬


‫הילה קדמן‬
‫אוגוסט ‪2019‬‬

‫מבוסס על חומרים שפיתחה עמליה אפל‬


‫מחרוזת – אוסף של תווים‬
‫‪ ‬מחרוזת הינה אוסף של תווים‪.‬‬
‫‪ ‬לכל אות או תו יש מיקום במחרוזת כשהספירה מתחילה ממקום ‪0‬‬

‫‪‬‬ ‫“‪st = "Good Day‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬

‫‪str‬‬ ‫‪G‬‬ ‫‪o‬‬ ‫‪o‬‬ ‫‪d‬‬ ‫‪D‬‬ ‫‪a‬‬ ‫‪y‬‬

‫‪‬‬ ‫))‪print (len (st‬‬ ‫הדפס את אורך המחרוזת‬


‫‪8‬‬
‫הצגת תווים במחרוזת‬
‫‪‬‬ ‫”‪st = “Good Day‬‬

‫ההוראה‬ ‫תוצאה ‪ /‬פלט‬ ‫הסבר‬


‫>>>‬ ‫)‪print (st‬‬ ‫‪Good Day‬‬ ‫הדפסת מחרוזת בשלמותה‬

‫‪>>> print‬‬ ‫)]‪(st[0‬‬ ‫‪G‬‬ ‫הדפסת התו הראשון במחרוזת‬

‫‪>>> print‬‬ ‫)]‪(st[6‬‬ ‫‪a‬‬ ‫הדפסת התו במקום ‪6‬‬

‫>>>‬ ‫)‪n = len(st‬‬ ‫הדפסת התו האחרון במחרוזת‪:‬‬


‫)‪>>> print (n‬‬ ‫‪8‬‬ ‫תחילה נחשב או אורך המחרוזת‬
‫)]‪>>> print (st[n-1‬‬ ‫‪y‬‬ ‫ולאחר מכן נדפיס את התו האחרון‬
‫(התו שבמקום הקטן ב‪ 1 -‬מאורך המחרוזת)‬
‫הצגת חלקים מהמחרוזת‬
‫‪‬‬ ‫”‪st = “Good Day‬‬

‫‪‬‬ ‫[גודל‪-‬קפיצה ‪ :‬עד‪-‬תו (לא כולל) ‪ :‬מ‪-‬תו] שם‪-‬המחרוזת‬


‫]‪ str_name [from : to : step‬‬

‫ההוראה‬ ‫תוצאה ‪ /‬פלט‬ ‫הסבר‬


‫>>>‬ ‫)]‪print (st[:‬‬ ‫‪Good Day‬‬ ‫בשלמותה (מתחילתה ועד סופה)‬ ‫הדפסת מחרוזת‬

‫>>>‬ ‫)]‪print (st[0 : 4‬‬ ‫‪Good‬‬ ‫הדפסת התווים ממקום ‪ 0‬ועד (לא כולל) מקום ‪4‬‬
‫)]‪>>> print (st[2 : 7‬‬ ‫‪od Da‬‬ ‫הדפסת התווים ממקום ‪ 2‬ועד (לא כולל) מקום ‪7‬‬
‫(שימו לב שאחד התווים הוא תו הרווח)‬

‫>>>‬ ‫)]‪print (st [ : 6‬‬ ‫‪Good D‬‬ ‫הדפס את ‪ 6‬התווים הראשונים במחרוזת ‪st‬‬

‫>>>‬ ‫)] ‪print (st [2 :‬‬ ‫‪od Day‬‬ ‫הדפסת המחרוזת מהתו שבמקום ‪ 2‬ועד סוף‬
‫המחרוזת‬
‫הדפסה בדילוגים‬
‫‪‬‬ ‫”‪st = “Good Day‬‬

‫‪‬‬ ‫[גודל‪-‬קפיצה ‪ :‬עד‪-‬תו (לא כולל) ‪ :‬מ‪-‬תו] שם‪-‬המחרוזת‬


‫]‪ str_name [from : to : step‬‬

‫ההוראה‬ ‫תוצאה ‪ /‬פלט‬ ‫הסבר‬


‫>>>‬ ‫)]‪print (st[0: : 2‬‬ ‫‪Go a‬‬ ‫התווים שבמקומות הזוגיים במחרוזת‬
‫)]‪>>> print (st[: : 2‬‬ ‫(בדילוג של ‪)2‬‬
‫>>>‬ ‫)]‪print (st[1: : 2‬‬ ‫‪odDy‬‬ ‫התווים שבמקומות האי‪-‬זוגיים‬
‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬

‫‪str‬‬ ‫‪G‬‬ ‫‪o‬‬ ‫‪o‬‬ ‫‪d‬‬ ‫‪D‬‬ ‫‪a‬‬ ‫‪Y‬‬


‫הדפסה במהופך‬
‫‪-8‬‬ ‫‪-7‬‬ ‫‪-6‬‬ ‫‪-5‬‬ ‫‪-4‬‬ ‫‪-3‬‬ ‫‪-2‬‬ ‫‪-1‬‬

‫‪‬‬ ‫”‪st = “Good Day‬‬

‫‪‬‬ ‫[גודל‪-‬קפיצה ‪ :‬עד‪-‬תו (לא כולל) ‪ :‬מ‪-‬תו] שם‪-‬המחרוזת‬


‫]‪ str_name [from : to : step‬‬

‫ההוראה‬ ‫תוצאה ‪ /‬פלט‬ ‫הסבר‬


‫>>>‬ ‫)]‪print (st[ : : -1‬‬ ‫‪yaD dooG‬‬ ‫הצגת המחרוזת במהופך מהסוף להתחלה‬
‫>>>‬ ‫)]‪print (st[5: : -1‬‬ ‫‪D dooG‬‬ ‫(ועד מקום ‪)0‬‬ ‫הצגה במהופך החל מתו במקום ‪5‬‬
‫>>>‬ ‫)]‪print (st[ : : -2‬‬ ‫‪yDdo‬‬ ‫(החל מהתו האחרון ‪-‬‬ ‫הצגה במהופך בדילוג של ‪2‬‬
‫הראשון מהסוף)‬
‫אינדקס ישר‬
‫ואינדקס הפוך‬
‫‪‬‬ ‫”‪st = “Good Day‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬

‫‪str‬‬ ‫‪G‬‬ ‫‪o‬‬ ‫‪o‬‬ ‫‪d‬‬ ‫‪D‬‬ ‫‪a‬‬ ‫‪Y‬‬


‫אינדקס הפוך‬
‫‪-8‬‬ ‫‪-7‬‬ ‫‪-6‬‬ ‫‪-5‬‬ ‫‪-4‬‬ ‫‪-3‬‬ ‫‪-2‬‬ ‫‪-1‬‬
‫מהסוף להתחלה‬

‫ההוראה‬ ‫תוצאה ‪/‬‬ ‫הסבר‬


‫פלט‬
‫>>>‬ ‫)]‪print (st[ 1:6‬‬ ‫‪ood D‬‬ ‫הצגת התווים ממקום ‪ 1‬ועד (לא כולל) ‪6‬‬
‫>>>‬ ‫)]‪print (st[-3:-7‬‬ ‫‪D do‬‬ ‫הצגה במהופך החל ממקום ‪ -3‬ועד ‪( -7‬לא כולל)‬
‫>>>‬ ‫)]‪print (st[-5‬‬ ‫‪d‬‬ ‫הצגת האות במקום הנתון‬
‫)]‪>>> print (st[ 3‬‬ ‫(‪ 3‬ו‪ ,-5 -‬הם אותו מקום במחרוזת הנוכחית)‬
‫פעולות על מחרוזת‬
‫(הפעולה מקבלת כפרמטר את המחרוזת)‬

‫‪‬‬ ‫”! ‪st = “Good Day‬‬


‫ההוראה‬ ‫תוצאה ‪ /‬פלט‬ ‫הסבר‬
‫)‪>>> len(st‬‬ ‫‪10‬‬ ‫(מספר התווים במחרוזת)‬ ‫אורך המחרוזת‬
‫)‪>>> str(1234‬‬ ‫”‪“1234‬‬ ‫הופכת את המספר למחרוזת‬ ‫פונקציית המרה‪.‬‬

‫השוואת מחרוזות‪cmp (st1, st2) :‬‬


‫הערך המוחזר‪:‬‬
‫‪>>> print (cmp(st,‬‬ ‫))”! ‪“Good Day‬‬ ‫‪0‬‬ ‫‪ 0‬אם המחרוזות שוות‬
‫))”! ‪>>> print (cmp(st, “nice Day‬‬ ‫‪-1‬‬ ‫)‪(G<n‬‬ ‫‪ -1‬אם המחרוזת הראשונה באה לפני‬
‫))”! ‪>>> print (cmp(st, “GOOD Day‬‬ ‫‪1‬‬ ‫)‪(Good>GOOD‬‬ ‫‪ 1‬אם המחרוזת הראשונה באה אחרי‬

‫"‪'A' < 'a' , "aBc" < "abc‬‬ ‫שימו לב! אותיות ֵרישיות קודמות לאותיות רגילות‪:‬‬
‫פעולות של המחרוזת‬
‫(המחרוזת מפעילה את הפעולה)‬

‫‪‬‬ ‫”! ‪st = “Good Day‬‬


‫ההוראה‬ ‫תוצאה ‪ /‬פלט‬ ‫הסבר‬

‫>>>‬ ‫)(‪st1 = st.upper‬‬ ‫! ‪GOOD DAY‬‬ ‫הפיכת כל אות לאות ֵרישית‬


‫)‪>>> print (st1‬‬ ‫‪upper case‬‬
‫>>>‬ ‫)(‪st1 = st1.lower‬‬ ‫! ‪good day‬‬ ‫הפיכת כל אות לאות קטנה‬
‫)‪>>> print (st1‬‬ ‫‪lower case‬‬

‫”‪st = “kukuriku‬‬
‫‪>>>print‬‬ ‫))”‪(st.startswith(“ku‬‬ ‫‪true‬‬ ‫האם המחרוזת מתחילה בתת‪-‬מחרוזת‬
‫))”‪>>>print (st.startswith(“Ku‬‬ ‫‪false‬‬ ‫המחרוזת ‪ st‬מתחילה באות קטנה‬

‫‪>>>print‬‬ ‫))”‪(st.endswith(“Ku‬‬ ‫‪false‬‬ ‫האם המחרוזת מסתיימת בתת‪-‬מחרוזת‬


‫פעולות של המחרוזת‬
‫(המחרוזת מפעילה את הפעולה)‬

‫‪‬‬ ‫”‪st = “kukuriku‬‬

‫ההוראה‬ ‫תוצאה ‪ /‬פלט‬ ‫הסבר‬


‫‪>>> print (st.find‬‬ ‫))”‪(“ku‬‬ ‫‪0‬‬ ‫חיפוש תת‪-‬מחרוזת במחרוזת‬
‫מוחזר מיקומה של האות הראשונה של‬
‫))"‪>>> print (st.find("ri‬‬ ‫‪4‬‬ ‫תת המחרוזת במחרוזת המפעילה‪.‬‬
‫אם תת המחרוזת לא קיימת‪ ,‬יוחזר ‪-1‬‬
‫))"‪>>> print (st.find("Ku‬‬ ‫‪-1‬‬
‫שרשור מחרוזות‬
‫‪ ‬שרשור מחרוזות ומספרים‬
‫‪‬‬ ‫‪>>> a = 5‬‬
‫" ‪>>> txt = "num:‬‬
‫שגיאה! לא ניתן לשרשר מספר למחרוזת )‪ >>> print (txt + a + 2‬‬
‫)‪>>> print (txt, a + 2‬‬ ‫תקין! מדפיס את המספר ליד המחרוזת‬

‫‪ - str(n) ‬המרת תוצאת התרגיל החישובי למחרוזת ושרשורו למחרוזת‬


‫))‪ >>> print ("sum: " + str(a + 2‬‬
‫‪sum: 7‬‬
‫‪ ‬תחילה יחשב את הביטוי שבסוגריים (יתקבל מספר)‪.‬‬
‫לאחר מכן ימיר את המספר למחרוזת ואז ישרשר למחרוזת ‪txt‬‬
‫פונקציות ופעולות לטיפול במחרוזת‬
‫פונקציות ופעולות לטיפול במחרוזת‬
‫פונקציות לטיפול במחרוזת‬
‫פעולות של מחרוזת‬
‫משתנה מסוג מחרוזת בפיתון הוא עצם (אובייקט) שיש לו‬ ‫‪‬‬
‫תכונות (למשל התו שבמקום הראשון)‬
‫ויש לו פעולות‪.‬‬
‫המחרוזת מפעילה את הפעולה שלה באופן הבא‪:‬‬ ‫‪‬‬
‫)( שם‪-‬הפעולה‪.‬שם‪-‬העצם‬

‫תחילה רושמים (משמאל לימין) את שם העצם (שם המשתנה)‪ ,‬אחריו נקודה‬


‫ואחר כך שם הפעולה (ללא! תווי רווח ביניהם)‪.‬‬

‫יש להבחין בין פעולות שפועלות על מחרוזת (אורך מחרוזת‪ ,‬השוואת‬ ‫‪‬‬
‫מחרוזות) המקבלות מחרוזת כפרמטר‪ ,‬לבין פעולות של המחרוזת המופעלות‬
‫על ידי המחרוזת‬
‫פעולות של מחרוזת‬
‫פעולות של מחרוזת‬
‫פעולות של מחרוזת‬
‫פעולות של מחרוזת‬
‫פעולות של מחרוזת‬

You might also like