מחברת 5 - תרגול באמצע המחברת

מישהו יכול להסביר? אולי המוח שלי כבוי עדיין, אבל באמת לא הבנתי מה אני צריך לעשות?
האם צריך ליצור שני מחרוזות (בעזרת Input) ואז לבדוק האם המחרוזות השנייה בתוך הראשונה??

תרגול: קבלו מהמשתמש שתי מחרוזות.
אם המחרוזת השנייה נמצאת לפני אמצע המחרוזת הראשונה, הדפיסו “Yes!”
אם המחרוזת השנייה לא נמצאת לפני אמצע המחרוזת הראשונה, הדפיסו “No!”
בונוס לגיבורים ולגיבורות: נסו להשתמש בשתי הפעולות, index ו־find.

לייק 1

דבר איתי אם אתה מסתבך. בעיקרון אני אתן לך רמז קטן-גודל המחרוזת

לייק 1

עכשיו הבנתי.
פה יש הסבר טוב:

לייק 1

חג שמח לכולם!

אפשר לעשות את זה בלי index או find. בכל מקרה, עשיתי עם find, אבל לא יודע איפה / איך אפשר לדחוף את index (כי זה יחזיר שגיאה וכי הייתי צריך להשתמש באחד מהם רק פעם אחת).

אפשר הכוונה עם הבונוס?

תודה

לייק 1

אפשר לפתור את התרגיל גם ע"י שימוש פעם אחת בכל אחד, חשוב מה אתה רוצה לעשות עם find ולא עם index

מצטער. לא הבנתי אותך.

אסביר יותר לעומק איפה אני עומד:

השתמשתי בfind כי כל מה שאני צריך לדעת זה אם הערך הוא -1 או כל דבר אחר (כל עוד אני בודק בחצי הראשון של המחרוזת העליונה). ואני צריך לעשות את זה רק פעם אחת.
אז אני לא מבין איך לעשות שיהיה בכלל צורך בעוד שורה (כדי להכניס גם את index).
כי כל מה שאני צריך להחזיר זה כן / לא.

ברגע שאבין למה אני צריך עוד שורה, אנסה להבין איך לעשות שindex גם יעבוד (ולא יחזיר שגיעה אם המחרוזת השניה לא בתוך החצי הראשון של הראשונה).

שוב תודה

איך אתה בודק בחצי הראשון של המחרוזת העליונה בלי slicing שטרם למדנו ולכן אסור להשתמש בו? :slight_smile:

לייק 1

כן פגעת בול איפה הייתה הבעיה אצלי.

בהמשך המחברת יש עוד תרגיל שמבוסס על זה (חצי חיים).

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

לחתוך לשתיים את האורך של המחרוזת הראשונה, ולבדוק אם האינדקס של השניה קטן (ולא שווה ל 1-) מהמספר הזה.

ועדיין לא הצלחתי להתמודד עם מצב שאני משתמש בidnex והמחרוזת השניה לא נמצאת בתוך הראשונה (זה עדיין נותן לי שגיאה). אבל כל עוד הקוד עובד - הכל בסדר אני מניח…

תודה על ההכוונה!

אני מאמינה שהכוונה היתה שאחרי שתבדוק אם find מחזיר ערך תקין תשתמש ב-index כדי לבדוק האם הערך הזה מתאים למה שצריך או לא :slight_smile:

לייק 1

היי, בהמשך לאותו נושא
לא כל כך הבנתי איך לכתוב את “המחרוזת השנייה נמצאת לפני אמצע המחרוזת הראשונה”
זה הקוד שכתבתי, אבל הוא לא עובד עבור התנאי השני של “NO!”

אני לא בטוחה מה עשית ב-if השני, אבל אני די בטוחה שזה לא מה שהתכוונת לעשות. נסי לחשוב על התנאי הזה שוב