תהייה לגבי Leveraging Simple Dictionaries

אז יש לי בעיה קצת מוזרה. כתבתי את הקוד, הרצתי אותו על הקובץ וכל התוצאות נכונות (אחרי התיקון שאומר שהתוצאה של 2, 2, 2, 2 אמורה לצאת True). למרות שקיבלתי את התוצאות הצפויות, משהו שם נראה לי עדיין לא בסדר. הרצתי את הקוד על קובץ נוסף שבו הוספתי שורות עם כמה מספרים בכמה קומבינציות שונות, והתוצאות עדיין חוזרות נכונות, ואני עדיין חש שאולי משהו לא בסדר (זה קשור למבנה הלולאות שבניתי בקוד). ניסיתי לבדוק את זה בפייתון ויז’ואלייזר אבל משום שם הקוד לא עובד (למרות ששמתי אותו פשוט כמחרוזת במקום כקובץ שממנו שולפים מחרוזת - אולי זה קשור לפירוק לשורות). בקיצור, הצלחתי לכאורה לפתור את התרגיל, ועדיין משהו שם לא מרגיש נכון. יש למישהו עצות לגבי כיווני חקירה?

נסה\י להריץ על זה:

אם יעבוד כנראה זה פשוט עובד :slight_smile:

לייק 1

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

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

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

נ ראה לי שענית לעצמך

לייק 1

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

2 לייקים