שם של שחקן, הודעה בצ'אט, סיסמה: כל טקסט בתוכנית הוא מחרוזת. כאן לומדים למדוד מחרוזת, לשלוף ממנה אות אחת או חתיכה שלמה, להחליף לאותיות גדולות ולחפש בתוכה. מחרוזת דומה מאוד לרשימה, ועוברים עליה עם לולאה בדיוק כמו שלמדתם.
מחרוזת היא שורה של תווים בתוך מירכאות, למשל "rocket". לכל תו יש מספר מקום, שנקרא אינדקס. הספירה מתחילה ב-0.
len(s) מחזיר כמה תווים יש. s[0] היא האות הראשונה, ו-s[-1] היא האחרונה.
s = "rocket"
print(len(s)) # 6
print(s[1]) # o
print(s[-1]) # t
s[a:b] לוקח את התווים מאינדקס a ועד לפני b. הסוף לא נכלל, ולכן האורך הוא b − a.
s = "rocket"
print(s[0:4]) # rock
print(s[2:]) # cket
print(s[:3]) # roc
upper() ו-lower() מחזירות עותק באותיות גדולות או קטנות. in בודק אם יש חלק כזה, ו-find אומר באיזה אינדקס.
s = "rocket"
print(s.upper()) # ROCKET
print("ock" in s) # True
print(s.find("k")) # 3
print(s.find("z")) # -1
len(s) - 1. בחיתוך s[a:b] האות במקום b לא נכנסת.הזיזו את המחוונים כדי לבחור מאיפה מתחילים ואיפה עוצרים. האותיות שנכנסות לחיתוך צבועות בצהוב, והמשבצת המקווקוות היא המקום שבו עוצרים (היא לא נכנסת). אחר כך הריצו את התוכנית שורה אחרי שורה: היא מדפיסה את החתיכה, את האורך שלה, וסופרת בה תנועות.
מעל: האות · מתחת: האינדקס, ובקטן האינדקס מהסוף
נסו את אלה:
אפשר לשנות את הקוד ולהריץ פייתון אמיתי. בפעם הראשונה הטעינה לוקחת כמה שניות.
האות הראשונה היא במקום 0. מי שכותב s[1] מקבל את האות השנייה.
✗ לא נכון
s = "rocket"
print(s[1]) # o✓ נכון
s = "rocket"
print(s[0]) # rרוצים 4 אותיות ראשונות? כותבים s[0:4], לא s[0:3]. הסוף עוצר לפני.
✗ לא נכון
print("rocket"[0:3])
# roc✓ נכון
print("rocket"[0:4])
# rockבמחרוזת של 6 אותיות האינדקס האחרון הוא 5. s[6] עוצר את התוכנית עם שגיאה. השתמשו ב-s[-1].
✗ לא נכון
s = "rocket"
print(s[len(s)])
# IndexError✓ נכון
s = "rocket"
print(s[len(s) - 1])
# tupper() לא משנה את המחרוזת עצמה. היא מחזירה מחרוזת חדשה, וצריך לשמור אותה במשתנה.
✗ לא נכון
s = "go"
s.upper()
print(s) # go✓ נכון
s = "go"
s = s.upper()
print(s) # GOתוכנית שבודקת שם משתמש למשחק: מודדת את האורך, שולפת את האות הראשונה, מכינה תג באותיות גדולות ובודקת אם יש בשם ספרה. לחצו "שורה הבאה" ועקבו אחרי המשתנים.
מחרוזת היא טקסט בתוך מירכאות, כמו "hello" או "123". המחשב שומר אותה כשורה של תווים, ולכל תו יש אינדקס שמתחיל ב-0. אפשר למדוד אותה עם len, לשלוף ממנה אות או חתיכה, ולעבור עליה בלולאה. נסו במעבדה.
החיתוך לוקח את התווים מאינדקס a ועד לפני אינדקס b. ב-"watermelon"[0:5] יוצא "water", כי לוקחים את המקומות 0 עד 4. אם משמיטים את a מתחילים מההתחלה, ואם משמיטים את b ממשיכים עד הסוף.
in עונה רק כן או לא (True או False). find מחזיר את האינדקס שבו החלק מתחיל, ו--1 אם הוא לא נמצא. כשרק רוצים לדעת אם משהו קיים, in פשוט יותר. תרגלו למטה.