אשמח להסבר לגבי החלק הזה

הי! לא כל כך הבנתי את החלק התחתון בתמונה, וחבל לי, כי זה נראה שימושי ומועיל.
חוץ מזה שחייבים להגדיר את words לפני, איזה עוד תנאים צריכים להיות?
כלומר, אני יכולה להגדיר מה זה words ואז מיד להדפיס את התא התחתון, וזהו? זה אמור לזהות לבד מי מהם זה word ומי זה reversed_word? או שחייבים גם את מה שכתוב בתא מעל? כי אם חייבים את זה, אז לא הבנתי למה זה מועיל; ואם לא חייבים, איך פייתון מזהה מה זה כל אחד מהמשתנים?
תודה!

ממה שאני הבנתי (מקווה שזה נכון);
בכל פעם (הגדרתי איבר אחד - for i in…) התוכנה אוסרת איבר איבר עושה עליו מה שמבוקש, עכשיו כשאנחנו יודעים שיש בכל איבר, שני איברים, אנחנו בעצם אומרים לפייתון, לעברי על שני האיברים באיבר, אם יש יותר אפשר יותר לדוגמא;
x = [(0,1,2),(1,2,3)
במקרה הזה אפשר לומר לפייתון:
for i,j,k in x:
print (i)
פלט; 0,1…

לייק 1

אגב, היא לא מזהה שהם הפוכים, אנחנו יודעים שהם הפוכים ולכן ניתנו להם השמות הלז…

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

אם הגדרת משהו, רשימה של טאפלים, נגיד, ואת יודעת שכל איבר ברשימה ,שהוא טאפל, מכיל שני איברים, תוכלי לעבור עליו ככה, כמובן שאם אחד מהאיברים ברשימה יכיל פחות משניים תתקבל שגיאה, החלק הראשון ממחיש את ‘העבודה הקשה’ שנגרמת מאי שימוש בunpacking

תודה רבה! נראה לי שהצלחתי.
צירפתי את הפתרון שלי פה, אשמח אם תוכל להציץ ולהגיד לי אם ככה זה אמור להראות (:

פירוט לפתרון שלי

הגדרתי:
items = [(‘banana’, 2), (‘apple’, 3), (‘carrot’, 4)]
ואז כתבתי:
for item_name, item_stock in items:
print(item_name, " - ", item_stock)
והתוצאה היא:
banana - 2
apple - 3
carrot - 4

מצוין, הבנת את הרעיון!
רק תזכרי שאם באחד מהמקרים כמות האיברים לא שווה לunpack, תתקבל שגיאה…

לייק 1

וזה כי לא עשיתי משהו בקוד, או כי ככה זה unpacking?

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

זאת אומרת שבקוד unpacking שכתבתי למעלה, משהו חסר?

לא, כי מה שקורה הוא ככה:
לולאת הפור עוברת על כל איבר ברשימה, אחד אחרי השני. בהתחלה על הטאפל הראשון, אחרי זה על השני ולבסוף על השלישי.
כל אחד מהאיברים מורכב משני רכיבים, פרי ומספר, ואת מפרקת כל טאפל לרכיביו בעזרת שני מצביעים - במקום לרוץ עם for couple in items כך ש-couple יכיל לך טאפל ובו זוג איברים, את מפרידה את הטאפל לשני איברים נפרדים.

אם תנסי להוסיף לרשימה עוד טאפלים כאלה - לא תהיה שום בעיה.
מתי עלולה להיות בעיה? אם תשני את הטאפלים כך שבנוסף לשם הפרי ולכמותו הוא יכלול גם מחיר. במקרה כזה לא תוכלי לפצל טאפל לשני רכיבים - כיוון שהוא מורכב משלושה - ותצטרכי לשנות את הלולאה בהתאם - כלומר לכתוב שקול ל-for name, stock, price in items.

3 לייקים

אה, אז נהדר. תודה רבה!