דך הסבר מחרוזות PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

‫‪Python‬‬

‫מחרוזות‬
‫מחרוזת ‪String‬‬
‫מחרוזת היא רצף של תווים (אותיות‪ ,‬ספרות‪ ,‬סימני פיסוק‪ ,‬רווח‪ ,‬תווים מיוחדים‪)...‬‬
‫על מנת שרצף תווים יפורש כמחרוזת‪ ,‬אנו צריכים להשתמש בסימן גרשיים (")‬
‫בתחילתו ובסופו‪.‬‬

‫זוכרים‪ :‬שדיברנו על סוגי משתנים התייחסנו גם למשתנה מסוג מחרוזת‬

‫‪ -‬המרה של משתנה למחרוזת (רצף של תווים)‬ ‫)( ‪str‬‬

‫‪2‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫אורך מחרוזת‬
‫כמה תווים יש במחרוזת הבאה?‬

‫"אנחנו לומדים פייתון – איזה כיף לנו!"‬


‫‪4‬‬ ‫‪1‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪5‬‬

‫סה"כ‪ 35 :‬תווים‬

‫‪3‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫‪( len‬אורך מחרוזת)‬ ‫פקודת‬
‫הפקודה ‪ len‬מחזירה את מספר התווים שיש במחרוזת‬

‫תחביר‪len ( "string" ) :‬‬

‫דוגמאות‪:‬‬
‫"‪a = "abcd‬‬
‫)‪b = len (a‬‬

‫) )"אבגד"(‪print ( len‬‬
‫‪4‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫שרשור מחרוזות‬
‫חיבור מחרוזות ‪ ...‬נקרא בשם‪ :‬שרשור‬

‫לצורך שרשור שתי מחרוזות (או יותר) יש להשתמש באופרטור ‪+‬‬


‫דוגמה‪:‬‬

‫שימו לב שהמחרוזות שורשרו ויצרו‬ ‫"לומדים" ‪" +‬פייתון" = ‪x‬‬


‫מחרוזת חדשה שאין בה רווח בין המילים‪.‬‬
‫התוצאה‪ :‬לומדיםפייתון‬

‫"לומדים " ‪" +‬פייתון" = ‪x‬‬


‫"לומדים" ‪" + " " +‬פייתון" = ‪x‬‬
‫‪5‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫שכפול מחרוזות‬
‫שכפול מחרוזת הוא בעצם שרשור של המחרוזת לעצמה מספר פעמים‬

‫לצורך שכפול מחרוזת יש להשתמש באופרטור *‬


‫דוגמה‪:‬‬

‫שימו לב שהמחרוזת שוכפלה ונוצרה‬ ‫‪" * 3‬יהלום" = ‪x‬‬


‫מחרוזת חדשה שאין בה רווח בין המילים‪.‬‬
‫התוצאה‪ :‬יהלוםיהלוםיהלום‬

‫‪6‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫שכפול מחרוזות‬
‫מה התוצאה של הפעולה הבאה?‬

‫"ללמוד פייתון זה" = ‪a‬‬


‫""=‪b‬‬
‫))‪" * 3‬כיף"( ‪print (a + b +‬‬

‫התוצאה‪ :‬ללמוד פייתון זה כיףכיףכיף‬

‫‪7‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫‪in‬‬ ‫פקודת‬
‫הפקודה ‪ in‬בודקת האם מחרוזת אחת נמצאת בתוך מחרוזת אחרת‬
‫הפקודה ‪ in‬מחזירה ערך נכון‪/‬לא נכון ‪ True‬או ‪False‬‬
‫תחביר‪print ( "srting" in "string" ) :‬‬

‫דוגמאות‪:‬‬
‫) “‪print ("H" in “HELLO‬‬ ‫‪true‬‬
‫) “‪print (“ELL" in “HELLO‬‬ ‫‪true‬‬
‫) “‪print (“h" in “HELLO‬‬ ‫‪false‬‬
‫‪8‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫השוואת מחרוזות‬
‫ניתן כמובן להשוות בין מחרוזות‪ ,‬התשובה שנקבל תהייה ‪False / True‬‬
‫בדומה להשוואה בין מספרים ‪ -‬נשתמש באותם האופרטורים‪.‬‬

‫מידע‬ ‫אופרטור‬
‫קטן מ‪..‬‬ ‫>‬ ‫"שלום" == "שלום"‬ ‫‪true‬‬
‫גדול מ‪..‬‬ ‫<‬
‫שווה ל‪..‬‬ ‫==‬ ‫"להתראות" =! "שלום"‬ ‫‪true‬‬
‫לא שווה ל‪..‬‬ ‫=!‬
‫"להתראות" > "שלום"‬ ‫‪true‬‬
‫ההשוואה המתבצעת היא לפי הערך המילוני של המחרוזות‬

‫‪9‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫‪ – Index‬אינדקס []‬
‫למיקום בתוך מחרוזת אנו קוראים בשם אינדקס‬
‫במדעי המחשב מקובל שהספירה של אינדקסים מתחילה מ – ‪,0‬‬
‫כלומר התו השני במחרוזת יקבל אינדקס ‪ 1‬וכך הלאה‪...‬‬

‫מהו התו המופיע באינדקס (מיקום) ‪ 3‬במחרוזת‪python :‬‬


‫[‪]0‬‬
‫[‪]1‬‬

‫[‪]2‬‬

‫[‪]3‬‬

‫‪10‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫‪ – Index‬אינדקס []‬
‫"‪s = "python‬‬ ‫מה לדעתכם יודפס כאן ?‬
‫) ]‪print ( s[0‬‬ ‫‪p‬‬
‫"‪s = "python‬‬
‫) ]‪print ( s [6‬‬ ‫תתקבל הודעת שגיאה – אין מיקום (אינדקס) ‪ 6‬במחרוזת זו‬

‫‪i=0‬‬
‫"‪s = "python‬‬
‫‪i=i+2‬‬
‫) ]‪print ( s[i‬‬ ‫‪t‬‬
‫‪11‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫‪ – Index‬אינדקס []‬
‫מה לדעתכם יודפס כאן ?‬

‫"‪s = "python‬‬
‫) ] ‪print ( s [ len(s)-1‬‬ ‫‪n‬‬

‫מה לדעתכם היה קורה אם המחרוזת היתה באורך של ‪ 100‬תווים – מה היה מודפס?‬
‫הפקודה הזו תמיד תדפיס את התו האחרון של המחרוזת‪...‬‬

‫‪12‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫‪find‬‬ ‫פקודת‬
‫הפקודה ‪ find‬מחפשת מחרוזת בתוך מחרוזת‪.‬‬
‫אם היא מצאה‪ ,‬היא מחזירה את האינדקס שבו המחרוזת מתחילה‬
‫אם היא לא מצאה‪ ,‬היא מחזירה את הערך ‪1-‬‬

‫תחביר‪s = mytext.find ("th") :‬‬

‫"‪s = "python‬‬ ‫דוגמאות‪:‬‬


‫))"‪print (s.find ("th‬‬ ‫‪2‬‬

‫"‪s = "python‬‬
‫))"‪print (s.find ("a‬‬ ‫‪-1‬‬
‫‪13‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
find ‫פקודת‬
h e y & b y e
0 1 2 3 4 5 6 7 8

s = "hey & bye"

print ( s.find(" ") ) 3


print ( s.find( "by") * s.find("&") ) 24

14
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫‪index‬‬ ‫פקודת‬
‫הפקודה ‪ index‬מחזירה את המיקום (האינדקס) של התו המבוקש במופע הראשון שלו‪.‬‬
‫אם התו לא במחרוזת נקבל הודעת שגיאה‪.‬‬

‫תחביר‪s = mytext.index ("h") :‬‬

‫"‪s = "python‬‬ ‫דוגמאות‪:‬‬


‫))"‪print (s.index ("h‬‬ ‫‪3‬‬

‫"‪s = "python‬‬
‫))"‪print (s.index ("a‬‬ ‫תתקבל הודעת שגיאה‬
‫‪15‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫לולאת ‪ for‬בשימוש מחרוזות‬
‫יצירת לולאה העוברת על כל התווים במחרוזת בשם ‪...TEXT‬‬
‫משתנה‬ ‫טווח‬
‫הלולאה‬ ‫הלולאה‬

‫‪for x in range ( len(TEXT) ):‬‬

‫ניתן גם לרשום את הלולאה בצורה הבאה‪:‬‬


‫משתנה‬ ‫טווח‬
‫הלולאה‬ ‫הלולאה‬

‫באופן זה משתנה הלולאה‬


‫‪for x in TEXT :‬‬ ‫מקבל כל פעם תו אחר מן המחרוזת‬
‫‪16‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫דוגמה לקוד ההופך את הטקסט‬

‫‪17‬‬
‫מדעי המחשב תש"ף‬ ‫© כל הזכויות שמורות‬
‫משימה לביצוע‬
‫כתבו קוד ‪ python‬עבור משחק ‪ X‬בום (חלק א')‬
‫התכנית תקלוט מספר בין ‪ 2‬ל‪( . 9 -‬יש לבדוק את תקינות הקלט)‬
‫על התכנית להדפיס את כל המספרים מ‪ 1-‬ועד ‪( 100‬כל אחד בשורה נפרדת)‬
‫לפי חוקי המשחק ‪ 7‬בום‪.‬‬

‫כלומר‪ :‬כל מספר שיש בו את הספרה ‪( X‬שנקלטה) או שמתחלק ל‪( X -‬הספרה שנקלטה) ללא‬
‫שארית יש להדפיס את המילה ‪ boom‬במקום את המספר‪.‬‬

‫דוגמה ל – ‪ 3‬בום‪ 20( .....‬מספרים ראשונים)‬


‫‪1,2,boom,4,5,boom,7,8,boom,10,11,boom,boom,14,boom,16,17,boom,19,20‬‬

‫‪18‬‬
‫מדעי המחשב תש"פ‬ ‫© כל הזכויות שמורות‬
‫משימה לביצוע‬
‫כתבו קוד ‪ python‬עבור משחק ‪ X‬בום (חלק א')‬
‫התכנית תקלוט מספר בין ‪ 2‬ל‪( . 9 -‬יש לבדוק את תקינות הקלט)‬
‫על התכנית להדפיס את כל המספרים מ‪ 1-‬ועד ‪( 100‬כל אחד בשורה נפרדת)‬
‫לפי חוקי המשחק ‪ 7‬בום‪.‬‬

‫א‪ .‬יש לכתוב תכנית ע"י שימוש בפעולות חשבון בלבד‪.‬‬


‫ב‪ .‬יש לכתוב תכנית ע"י שימוש בפעולות של מחרוזת‪.‬‬

‫תזכורת‪ :‬ניתן להמיר מספר למחרוזת ומחרוזת חזרה למספר‬


‫)‪a = str(number‬‬
‫)‪b= int(a‬‬

‫‪19‬‬
‫מדעי המחשב תש"פ‬ ‫© כל הזכויות שמורות‬

You might also like