שאלת קוד לכספת- בול פגיעה

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

תודה מראש
נדב

היי נדב,
הגדרת מצוין את הבעיה במילים האלה:

בעצם פרט למקרה שבו התנאי הראשון מתקיים (זה שב-if) ואז הפונקציה מסתיימת מוקדם, התנאי השני (זה שב-elif הראשון) תמיד מתקיים.
למעשה, אם תשנה את ה-elif הזה ל-if תגלה שגם כשתכתוב את הסיסמה הנכונה הוא יתקיים.

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

לייק 1

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

לייק 1

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

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

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

לייק 1