מסר של יום טוב - replace

הבנתי את זה שאי אפשר לעשות לטקסט replace בגלל שהלולאה רצה עליו
ניסיתי לעשות דבר כזה:
song2 = SONG
(לא הצלחתי לעשות לו copy משום מה לא יודע למה…)
אחרי שאיתרתי את המילה אני מנסה לעשות לה
song2 = song2[counter].replace(word, newword)
לא משנה איפה ואיך אני שם את הcounter אני לא מצליח
בבקשה עזרה?

שאלה הבנה: הcounter במקרה הזה לא נותן לך רק תו אחד בתוך song2 ולא מילה שלמה.
זה מה שהתכוונת לעשות ? \ או מה שקורה ?

הוא לא נותן לי כלום אני רץ עם for
אני משתמש בו כדי למצוא כל פעם את המיקום ולשלוח אותו ב replace זה השימוש היחיד בו

להעתיק לפה את הקוד?

את הקוד לא, אבל תעביר את הצילום של השגיאה שהוא מחזיר לך.
אם לא נעלה על זה תשלח לי בפרטי

    song2 = song2[counter].replace(word, newword)

TypeError: ‘str’ object does not support item assignment

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

name[0] = 'A'

זה גם יחזיר שגיאה.
אתה צריך להוריד את הcounter לגמרי.

אז איך אני אמור לעשות את זה?

כן אבל מצד שני הוא יכול לשחק לי איתו כל הזמן
O שהפך לA
אחר כך יהפוך את A ל U
אחר כך יהפוך את U לY
בגלל זה אני צריך דווקא לאותו המיקום לגשת

אתה צודק לגמרי זה אכן מה שיקרה וככל הנראה יתקע את המחשב בסוף :slight_smile:
אבל למה ששאלת הדרך להשתמש בreplace היא רק ככה אי אפשר לעשות השמות לתוך מחרוזות.
תנסה לראות אולי דרך אחרת לגשת לזה

ניסיתי עוד דרך:
song2[counter] = newword
גם לא עובד

נכון כי שוב אם song2 הוא מחרוזת אי אפשר לעשות השמה למקום בתוכה.

אז איזה עוד אופציה נשארת לי? איך אני עושה את זה?

:woman_shrugging:
זה חלק מהרעיון של התרגיל.

ואם אני תקוע? לא מצליח להבין איך לעשות?
אני רק על החלק הזה תקוע מאתמול

כמה אפשרויות:

  1. עזוב. תמשיך הלאה, אולי אחרי שתעזוב את זה לכמה זמן ו/או תראה משהו חדש במחברות/תרגילים שאחרי יבואו לך רעיונות חדשים.

  2. נראה שממש קשה לך עם replace פה. אז אולי יש משהו אחר שיכול לעשות את העבודה? אני יכולה לחשוב על לפחות 3 דרכים אחרות לקבל תוצאה דומה, אולי אחת מהן טובה לתרגיל הזה.
    ואם זה לא עוזר, אז 1. (רקורסיה?)

הצלחתי בסוף תודה! :slight_smile:

לייק 1