תרגול מיוחד - Ask Us Anything

לצערי אני מחפש ולא מוצא את הנושא, תוכל לכוון ואותי או לשלוח לי קישור להסבר?

היי,
בהרצאה האחרונה שעשיתם על פונקציות: מצ"ב צילום מסך.
לשם מה יש את ה return בשורה הרביעית? הרי יש את ההדפסה כבר. הוא לא מיותר?

2 לייקים

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

3 לייקים

היי, תודה על ההזדמנות להציע נושאים לתרגול. הנושא של הברחת מחרוזות לא כל כך ברור לי. ניסיתי להשתמש בפעולה n\ וקיבלתי שגיאה: SyntaxError: EOL while scanning string literal. תוכלו לחדד למה צריך לשים לב ומהן השגיאות האפשריות?

מצטרפת לשאלה, אבל קצת שונה. @guykeller

חשבתי לתומי ש RETURN זורק אותי החוצה מהפונקציה, מה הוא עושה שם באמצע? מה התפקיד שלו בעצם?

isdigit - הוא עבור גם תווים שמייצגים מספרים (שהם לא מספרים נקיים כמו 1, 2, 3 … )
למשל:
➀ - עבור הסימון הזה isdigit יחזיר true כי זה תו שמייצג את המספר 1.
בעוד ש isdecimal יחזיר false.
תריץ את השורות האלה ביופיטר ותבחין בהבדל.
char = chr(9312)
print(char)
print(char.isdigit())
print(char.isdecimal())

char = “1”
print(char)
print(char.isdigit())
print(char.isdecimal())

[ נאמר על סמך מה שקראתי באינטרנט ]

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

לייק 1

נסי לבדוק אם לא שכחת סוגריים/מרכאות באחת מהשורות של הקוד.

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

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

אם לא היה מופיע return - אז פייתון היה ממשיך ל-if הבא ומריץ is_pythagorean(3, 4, 5) וכו’ וזה מיותר.

שימו לב - ספציפית בפונקציה הזאת היו אמורים להיות a, b, c וכו’ במקום המספרים 3, 4, ו-5.
איתמר

הוא לא “זורק החוצה מהפונקציה” - return מסיים את חישוב הפונקציה בנקודה שבה הוא נמצא ומחזיר את הערך שמופיע אחרי המילה return למקום שבו הוא נקרא.
בתרגול הדגמתי כיצד אני משתמש בפונקציה is_triangle_v2(a, b, c) המחזירה True או False בהתאם להאם המספרים שהתקבלו יכולים להיות צלעות של משולש. אם תסתכלו, יש בדיוק התעסקות עם הנושא של מה ההבדל בין פונקציה שמחזירה ערך לכזאת שלא.

איתמר

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

שאלה נוספת היא מה ההבדל בין print ל-return מעבר להפסקת הפונקצייה. לפעמים זה מחזיר ערך ולפעמים לא…

תודה רבה!

לייק 1

היי,

האם ראית את כל הסרטון של התרגול?

איתמר

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

יש לי שאלה לגבי מחברת 5 - הפרד ומשול,
some_paragraph.split()

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

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

some_paragraph = “”“גדגגדג”""
some_paragraph = some_paragraph.split()
some_paragraph.split()

ובאותה פסקה,


למה ה ״ו ״ לא נוספת לאיבר של ה״שוקולד״ ???

לייק 1

היי תודה רבה

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

תודה

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

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

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

איתמר

היי, אני ממש מתקשה בכל נושא הפונקציות (צפיתי בשני הסרטונים, אפילו כמה וכמה פעמים)
כבר כמה ימים שאני מנסה לפתור את מפענח הצפנים וגם את כל התרגילים במחברת 7, אבל לצערי לא מצליח…
(נראה שכרגע אפילו לא אספיק להגיש הכל בזמן…)
כרגע כל פעם אני ניתקל בבעיה אחרת ואני הרבה פעמים הולך על “ניסוי ותהייה” וזה לא יעיל במיוחד…

כל מיני שאלות ספציפיות שעלו לי:

  1. בתרגיל “מערכת בנק”- אחרי שהגדרתי פונקציה להדפיס לי welcome אם נכון, wrong password אם לא ואני רוצה לבדוק אותה בשימוש בפונקציה אחרת: ( לצורך העניין אני כותב):
    def login(user_name, new_name):
    if password_generator(user_name):
    print(“Welcome!”)
    else:
    print(“Wrong Password”)

------אז זה מחזיר לי “Wrong Password” משום מה, גם כשהכנסתי אחד לאחד את שני שמות המשתמש וזה אמור להיות תקין. למה זה ?
2. באותו התרגיל גם אחרי התהליך כשאני מנסה להכניס רווח ולראות מה יודפס לי זה פשוט מדפיס לי X כרגיל… לא הצלחתי לעלות איפה הטעות הייתה בדרך…
3. לא מספיק הבנתי מתי כן רלוונטי לכתוב את הפרמטר של הפונקציה בתוך חתימת הפונקציה ומתי לא (הבנתי שבתהליך הגדרת הפונקציה זה לא משנה מה אני כותב כפרמטר וכשאני דווקא קורא חזרה לפונקציה חזרה בשימוש אחר אז זה כן רלוונטי?)
4.בנוסף לזה גם רציתי להבין מתי אני משתמש בINPUT, או קלט, תחת הפונקציה כאשר הערך של אותו הקלט מוזח תחת הפונקציה ומתי הוא לא מוזח אלא נכתב שורה מתחת, בתחילת השורה.
תכלס, קשה מאוד להסביר את עצמי בלי להראות את זה כי כל שורה שאני מתקן משהו אחר קופץ לי ובטוח שזה משהו יותר שורשי בהבנה שלי… אחרת היה לי קל יותר לפתור את הבעיות של עצמי. (ממש טיפול פסיכולוגי!)
אשמח לעזרה, כמה שאפשר :slight_smile:

היי,
הייתה שאלה אחת במחברות של שבוע 2 תרגיל שמחשב עצרת בעזרת פוקנציה/ות
הייתה עוד שאלה במחברות שלעשות סדר ברשימה של שופטים לפי ה-א’ ב’

אשמח אם נוכל לפתור אותם בוידאו

לייק 1