עוד על מחרוזות

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

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

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

חיבור מחרוזת ומספר#

מעבר לזה ניתן לחבר גם מספרים עם מחרוזות, אבל לא בעזרת סימן החיבור:

שגיאה נפוצה

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

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

ראינו בשיעורים הקודמים את הפונקציות ()int ו- ()float שממירים מחרוזת למספר. הפונקציה המשלימה נקראת ()str והיא ממירה מספרים למחרוזת:

f-strings#

f-strings, או בשמן המלא formatted-strings, הן בעלות יכולת לחבר מספרים או מחרוזות עם מחרוזות:

הדברים שחשוב לשים לב אליהם:

  • המחרוזת מתחילה באות f לפני המרכאות הפותחות.
  • את המספר או החישוב שרוצים לחבר למחרוזת צריכים לשים בתוך סוגריים מסולסלים {}
  • ניתן להכניס בסוגריים גם משתנים המכילים מספרים או מחרוזות.
Tip

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

עוד פונקציות מעניינות#

לא חייבים לשנן את כל הפונקציות האלה בעל-פה, הכל נמצא מרחק חיפוש אחד בגוגל (או chatGPT...) אבל טוב לדעת שהן קיימות למקרה ונצטרך. הנה דוגמאות לכל מיני פונקציות מעניינות שיכולות לעזור לנו במגוון פרויקטים:

in#

מילת המפתח "in" היא כלי לבדיקת המופע של תת-מחרוזת בתוך מחרוזת. היא מחזירה ערך בוליאני, True אם התת-מחרוזת נמצאת ו-False אחרת. לדוגמא:

replace#

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

startswith#

בודק אם המחרוזת מתחילה עם הקידומת המצוינת. אם כן - מחזיר True, אחרת - False.

endswith#

בודק אם המחרוזת מסתיימת עם הסיומת המצוינת. אם כן - מחזיר True, אחרת - False.

isalnum#

בודק אם כל התווים במחרוזת הם אותיות או ספרות. אם כן - מחזיר True, אחרת - False.

isalpha#

בודק אם כל התווים במחרוזת הם אותיות. אם כן - מחזיר True, אחרת - False.

isnumeric#

בודק אם כל התווים במחרוזת הם ספרות. אם כן - מחזיר True, אחרת - False.

capitalize#

מחזירה עותק של המחרוזת כאשר התו הראשון הומר לאות גדולה והשאר לאותיות קטנות.

islower#

בודק אם כל האותיות במחרוזת הם אותיות קטנות. אם כן - מחזיר True, אחרת - False.

isupper#

בודק אם כל האותיות במחרוזת הם אותיות גדולות. אם כן - מחזיר True, אחרת - False.

lower#

מחזירה עותק של המחרוזת המומרת לאותיות קטנות.

upper#

מחזירה עותק של המחרוזת המומרת לאותיות גדולות.

תרגילים#

תרגיל 1- אבטחת אתר אינטרנט#

אתה עובד על שכבת אבטחה בסיסית עבור אתר אינטרנט. המשתמש אמור להיות מסוגל לגשת לאתר רק אם יש לו שם משפחה ספציפי (Smith או Johnson) או שם מלא ספציפי (Emily Clark).

המשתמש יכול להזין את שמו המלא באותיות גדולות/קטנות/משולב (למשל, "SMITH", "sMiTh").

בקש מהמשתמש את שמו המלא. ראשית, בדוק אם יש רווח בשם. אם אין רווח, הדפס הודעת שגיאה וצא. לאחר מכן, קבע אם יש לתת להם גישה. השתמש ב-f-strings כדי להדפיס הודעת קבלת פנים מותאמת אישית או הודעת "אין כניסה". הנה דוגמאות הדפסה למקרים השונים:

השם לא תואם לשמות המאושרים:

Please enter your full name: John Doe
Sorry, John Doe, you do not have access.

השם תואם לשמות המאושרים:

Please enter your full name: John Smith
Welcome to the website, John Smith!

השם ללא רווח:

Please enter your full name: John
Invalid input, space is missing. Please enter your full name.

תרגיל 2- האם מספר טלפון תקני?#

כתוב תוכנית שלוקחת מספר טלפון כקלט.

מספר הטלפון צריך להיות מחרוזת המכילה רק מספרים ומקפים, והוא חייב להתחיל ב-05. אם מדובר במספר טלפון חוקי בהתאם לתנאים אלה, הדפס .Valid phone number אחרת, הדפס .Invalid phone number