בנק 2-הבהרת דרישות

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

יש דרכים פשוטות בהרבה לתעד את מספר הניסיונות של הבחור, ממליצה להעיף מבט על נושאי המחברות של שבוע 3 ולראות מה מיועד להתמודדות עם חזרות של דברים (למשל פה של ניסיונות) :slight_smile:

תודה! אבל אני רוצה לחזור על הנקודה שלי ברשותך כדי לראות שאני מבין. הפונקציה מסיימת לרוץ כן? ואז את רוצה שעבור ערכים שווים בדיוק שאני מכניס לאותה פונקציה בדיוק אני אקבל תשובה שונה לגבי מספר הניסיונות שלי? זה נשמע לי קצת לא סביר שזה כזה פשוט ואני אדגים.
בוא נניח שאני מתחזה למשתמש אחר ויש לי את שם המשתמש שלו, ואני רוצה לנסות את הסיסמה 1,000 פעמים. אני אצא מהאתר (כביכול כן מצב תיאורטי) ואכנס ואצא ואכנס וכל פעם אפעיל את הפונקציה מחדש לחלוטין, ולפי מה שאת אומרת עדיין יזהו אותי בלי בעיה, כלומר ידעו-זה הניסיון הX, זה הניסיון הX+1. זה לטעמי די שונה מהדברים שעליהם דיברנו (כמובן שאני שוכח וטועה המון וכו).

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

סבבה. זה רק אומר שאת לא רוצה שהפונקציה תפסיק לרוץ אם אני מבין נכון.

הפונקציה שבתוכה אתה סופר את הניסיונות - אכן

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

נשמע לי בהחלט נכון :slight_smile:

לייק 1