פורלולה 1 - מחברת 1

תגיות:

אהלן,

בשאלת התרגול של פורלולה 1, הצלחתי לייצר פונקציה שתחזיר ערך מתאים עבור מקרי הדוגמא.
אבל עבור מקרה הקצה [6 ,6 ,6 ,6 ,6 ,6] הפונקציה דורשת התייחסות שונה.
ועבור [6 ,5 ,6 ,6 ,6 ,6] יחס שונה מהמקרה הקודם.
[6 ,6 ,3 ,3 ,1 ,1] וכן הלאה
כלומר לא הצלחתי לייצר פונקציה שעונה על כל המקרים עם הרעיונות שעלו לי.

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

הצעות, רעיונות?

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

זה נובע מהאופן שבו כתבתי את הפונקציה.
במקרה הזה אני מעדכן את האינדקס עבור כל איבר. במצב שבו האיבר חוזר על עצמו האינדקס נע בין 0 ל 1

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

לדוגמה:
את המצב של [6, 6, 6, 6, 6, 6]
פתרתי ככה index = 0 אתחול לפני הלולאה
והוצאת index = order_guess.index(car)
מתוך הלולאה

אני חושבת שאפשר להשתמש גם בנתון שכל מכונית אמורה להופיע פעם אחת בסדר הנכון

3 לייקים

זאת שאלה, כי באחת הדוגמאות המספר 4 מופיע פעמיים, ואני תוהה אם זה בכוונה או בטעות.
@Yam?

לייק 1

זו אכן טעות בדוגמה, כל מספר אמור להופיע פעם אחת

4 לייקים

זה חוסך לי הרבה מאמץ

אפשר להשתמש בrange בביטוי של הfor?

טרם, לא נלמד עדיין במחברת הזו :slight_smile:

לייק 1

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

כן :slightly_smiling_face:

לייק 1

לוודא שוב שהבנתי נכון - לא יכולה להיות טעות אחת. זה או שהכל נכון או שיש לפחות שתי טעויות?

ו…

האם אפשר ליצור סאב-קטגוריות בתוך הקטגוריות בפורום? (כלומר: שבוע - מחברת - תרגיל או כל פרמוטציה של הרצף הזה, יש כבר לפחות 3 דיונים שונים על תרגיל 56 שחלקם נקראים כך וחלקם פורלולה וכו)

אוקיי, וגם ה OCD שלי משפיע, אבל אני מסרבת להודות בכך

2 לייקים

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

כמו שכתבתי את הקוד הוא ייתן טעות אחת במקרה כזה, אבל השאלה היתה יותר עקרונית - מדובר על איזה מקום “אבסולוטי” ברצף הגיעה המכונית לא מי לפניה ומי אחריה (ותו’כ כדי שאני כותבת לא ברור לי האם הניסוח הזה טוב יותר), בכל אופן, ענית לשאלתי :slight_smile:

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

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

לייק 1
  1. @orpazf שאלתי את זה בגלל זה:

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

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

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

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

לייק 1