בשאלת התרגול של פורלולה 1, הצלחתי לייצר פונקציה שתחזיר ערך מתאים עבור מקרי הדוגמא.
אבל עבור מקרה הקצה [6 ,6 ,6 ,6 ,6 ,6] הפונקציה דורשת התייחסות שונה.
ועבור [6 ,5 ,6 ,6 ,6 ,6] יחס שונה מהמקרה הקודם.
[6 ,6 ,3 ,3 ,1 ,1] וכן הלאה
כלומר לא הצלחתי לייצר פונקציה שעונה על כל המקרים עם הרעיונות שעלו לי.
האם אני צריך להתייחס למקרים האלה בשלב הזה, ויש לנו מספיק מידע על לולאת for בשביל לפתור איתה את זה?
אני רואה איך אני מיישם עם while את כל המצבים.
הבעיה שאני רואה היא פניה למיקום האיבר ברשימה, פתרון נוסף הוא לצמצם את הרשימות לאחר כל השוואה אבל קיבלתי את הרושם שזה לא מנומס.
הצעות, רעיונות?
orpazf
אפשר לבצע זאת גם עם לולאת for. מה מפריע לך בדוגמאות שנתת? מה היחס השונה שנדרש לדעתך?
arieveksler
זה נובע מהאופן שבו כתבתי את הפונקציה.
במקרה הזה אני מעדכן את האינדקס עבור כל איבר. במצב שבו האיבר חוזר על עצמו האינדקס נע בין 0 ל 1
אני בטוח שיש דרך שזה יעבוד, מה שאני רוצה להבין זה מה אני מפספס או אם בשלב הזה אין לנו מספיק מידע כדי לכסות את כל המצבים
לדוגמה:
את המצב של [6, 6, 6, 6, 6, 6]
פתרתי ככה index = 0 אתחול לפני הלולאה
והוצאת index = order_guess.index(car)
מתוך הלולאה
orpazf
אני חושבת שאפשר להשתמש גם בנתון שכל מכונית אמורה להופיע פעם אחת בסדר הנכון
3 לייקים
Rach
זאת שאלה, כי באחת הדוגמאות המספר 4 מופיע פעמיים, ואני תוהה אם זה בכוונה או בטעות. @Yam?
לייק 1
Yam
זו אכן טעות בדוגמה, כל מספר אמור להופיע פעם אחת
4 לייקים
arieveksler
זה חוסך לי הרבה מאמץ
yael.maritz
אפשר להשתמש בrange בביטוי של הfor?
Yam
טרם, לא נלמד עדיין במחברת הזו
לייק 1
Felixmn
אם כותבים קוד שמניח שמספר יכול לחזור על עצמו כמו בטעות הזו, עדיין תקין מבחינת הגשה?
Yam
כן
לייק 1
devorack
לוודא שוב שהבנתי נכון - לא יכולה להיות טעות אחת. זה או שהכל נכון או שיש לפחות שתי טעויות?
ו…
האם אפשר ליצור סאב-קטגוריות בתוך הקטגוריות בפורום? (כלומר: שבוע - מחברת - תרגיל או כל פרמוטציה של הרצף הזה, יש כבר לפחות 3 דיונים שונים על תרגיל 56 שחלקם נקראים כך וחלקם פורלולה וכו)
אוקיי, וגם ה OCD שלי משפיע, אבל אני מסרבת להודות בכך
2 לייקים
Yam
הייתי אולי דואג בכ"ז להתחשב במקרה של טעות אחת למקרה שמישהו מזין 8, אבל לא חובה
אפשר לייצר סאב־קטגוריות, אבל גם ככה אנשים מתקשים פה עם הפלטפורמה ועם החלוקה לקטגוריות אז נראה לי שנשאיר את זה ככה ונעודד אנשים להשתמש בחיפוש
devorack
כמו שכתבתי את הקוד הוא ייתן טעות אחת במקרה כזה, אבל השאלה היתה יותר עקרונית - מדובר על איזה מקום “אבסולוטי” ברצף הגיעה המכונית לא מי לפניה ומי אחריה (ותו’כ כדי שאני כותבת לא ברור לי האם הניסוח הזה טוב יותר), בכל אופן, ענית לשאלתי
chen1
אם לפי מה שים אמר לא אמור להיות אותו מספר פעמיים אז אני יכולה להחליף באמת את העוד 4 הזה בדוגמא ב8 נגיד?
בהמשך לשאלה, אנחנו אמורים לתת אופציות להזנת הימורים או פשוט להזין בקוד את הדוגמאות ולרוץ עם זה?
orpazf
אם אנחנו ממשיכים עם הנחת קלט תקין, אני חושבת שניתן להניח שמהמר יהמר רק על מספרים שקיימים ועל כל מספר פעם אחת.
“הפונקציה צריכה לקבל הימור בודד ואת סדר ההגעה”, כלומר צריכה להיות אפשרות לקבל הימורים שונים ולא רק את הדוגמאות האלה
לייק 1
chen1
@orpazf שאלתי את זה בגלל זה:
אז אם אני צריכה לתת למשתמש להזין, בקוד פשוט לעשות input אחד של הימור או לעשות את זה בלופ או פונקציה כאילו איכשהו לתת לכמה שרוצים להמר?
orpazf
הבנתי, לא שמתי לב לזה . אז אכן צריך לוודא גם שהקלט תקין - לפחות במגבלות מסוימות.
הפונקציה מקבלת קלט = שולחים אליה ארגומנט, אין צורך באינפוט.
chen1
בלבלת אותי עוד יותר
אם צריך לקחת בחשבון שאולי יהיה 8 אז למה צריך לוודא שהקלט תקין? זה פשוט ייחשב כטעות, לא?
ולמה אין צורך באינפוט, אם אני לא נותנת דוגמאות ספציפיות?
orpazf
אני אנסה שוב
הפונקציה מקבלת את הסדר הנכון, שאפשר למיטב הבנתי להניח שהוא תקין - כלומר כל מספר מופיע בו בדיוק פעם אחת, ובנוסף היא מקבלת את ההימור, שיכול להיות גם לא תקין - כלומר ייתכן למשל שיש לך מספר לא נכון שבכלל אינו מופיע בהימור. כלומר זה חלק מהבדיקות שאת צריכה לעשות. אכן אם ההימור זהה לסדר הנכון רק ש-1 הוחלף ב-8 זה עדיין תקין כי יש טעות יחידה.
כי מי שיקרא לפונקציה הזו יקרא לה כחלק מקוד - אולי זו תהיה פונקציה שתהיה אחראית רק על קבלת קלט מהמשתמש ואולי משהו אחר. הפונקציה עצמה צריכה רק לקבל את 2 הארגומנטים ולהחזיר תשובה, היא לא מתעסקת במאיפה הם מגיעים