תיקון קטן לתרגיל אין לזה צורה ושאלה

נקודה הממוקמת בחלק השמאלי־תחתון של המלבן (נקודת ההתחלה start_point)
הכוונה לחלק שמאלי עליון (נובע מהמשך השאלה).

האם המלבן בהכרח מקביל לצירים? מאחר ויכולים להתקבל אינסוף מלבנים במידה ולא.

שאלה נוספת:
התבקשנו להגדיר 2 פעולות ליצירת נקודת התחלה למלבן (שמאלית עליונה) ונקודת סיום (ימנית תחתונה).
ערכי ה-x וה-y הם בין 1 ל-100.
אם התחלנו מלהגריל נקודת התחלה וערך ה-x שלה יצא 1 (לא משנה מה יהיה ערך ה-y), לא יווצר מלבן.
ולחלופין אם נתחיל מלהגריל את נקודת הסיום - וערך ה-x יצא 100.
לגבי ערכי ה-y, אם יצא לנקודת ההתחלה 1 תחילה - לא יווצר מלבן, וכך גם אם יצא 100 לנקודת הסיום (אם נתחיל מלהגריל דווקא את נקודת הסיום).

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

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

2 לייקים

בהכרח מקביל לצירים.

ודא שאכן נוצר מלבן, ואם לא הגרל מחדש

זה דווקא נשמע לי כמו תיאור מפורט למדי של פעולת אתחול :stuck_out_tongue:

2 לייקים

לפי התשובות האלה, זה נראה שההגדרה של הפעולה של randomize_end_point לא נכונה. מכיוון שהבכרח 1-100 לא יכול להיות נכון לה. הX חייב להיות תמיד בלפחות אחד יותר מהX של ההתחלה והY חייב להיות תמיד בלפחות אחד פחות מהY של ההתחלה. גם ההגדרה של randomize_start_point לא נכונה כי היא לא יכולה להיות עד 100 לX ומ1 לY כי אז לא ניתן ליצור את המלבן.

האם יש אפשרות לשנות את המתודה ולא להיצמד להוראות של התרגיל לגבי הטווח של הrandom?

2 לייקים

כן, אפשר :slight_smile:

2 לייקים

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

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

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

בנוסף,
filter_by_size לדוגמא מוגדר שיחזיר מלבנים “ששטחם הוא לפחות threshold” כלומר גדול שווה
לעומת זה במתודה rand_rects צריך להדפיס מלבנים “ששטחן גדול מ־900” כלומר גדול ממש

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

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

רמז 901
:slight_smile:

:man_facepalming: יצאתי טמבל

לייק 1