מחברת 4 - מגדל הקוביות

נתחיל בריבוע:

ממשו גם את הפעולות get_height ו־get_width של שטח והיקף כפי שעשיתם בתרגיל הקודם.

הכוונה היא get_surface וget_perimter?

הקובייה ברורה עד כמה שהסתכלתי :slight_smile:

ונסיים במגדל קוביות (שאלת קיטבג אבל דורשת הבהרה)

הוסיפו פעולה נוספת בשם randomize_tower שבוחרת מספר שלם בין 1 ל־100, נקרא לו 𝑁.
הפעולה תיצור 𝑁 קוביות שלהן צלע באורך אקראי (עליכם להגריל אורך בין 1 ל־100), שצבען הוא שחור או לבן (בחרו באקראיות).
צרו בלולאה 1,000 מגדלים ומלאו אותם בקוביות באמצעות המתודה המגרילה.
מהו המגדל הגבוה ביותר שקיבלתם?

  1. עבור כל המגדלים להשתמש באותן N קוביות שהגרלנו או כל פעם להגריל מחדש?
  2. באיזה אופן לבנות את המגדלים? כל פעם להגריל קובייה מתוך הקוביות שיש לנו ולנסות למקם? אופן אחר כלשהו?

זהו בינתיים :slight_smile:

בנוגע לשאלה הראשונה – כן, הוספתי באשכול התיקונים.

בנוגע לשנייה –

  1. באלו שהגרלת
  2. … זה די מובן מאופן השאלה

תרשה לי לחלוק עליך שזה מובן מאופן השאלה ים :slight_smile:
עדיין לא ברור לי ואשמח להבהרה -
הגרלתי N קוביות בגודל רנדומלי בצבע שחור או לבן כל אחת
עכשיו אני עושה לופ וכל איטרציה בונה מגדל…

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

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

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

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

יוצרים 1000 מגדלים כאלה (כל פעם נוצר מגדל אחר) ובודקים מי הכי גבוה

לייק 1

מתלבש על הפוסט הזה לשאלה מפגרת בנושא:
באיזה פורמט אנחנו אמורים לקלוט את ה-base?
בדוגמא כתוב 10x10.
האם אנחנו מקבלים 10 ומסיקים את השאר?
מקבלים 100 ומחשבים את הדפנות?
או… מקבלים סטרינג “10x10”?
זה לא אמור לשנות יותר מדי, אבל מה הייתה כוונת המשורר?

לייק 1

מקבלים כפרמטר מספר יחיד

לייק 1

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

אם כולן היו מצטרפות למגדל אז המגדל היה לא חוקי + כל המגדלים היו בגודל 1000 ולכן לא היתה נשאלת השאלה מי המגדל הכי גבוה :slight_smile:

לייק 1

זה קצת מבלבל, את בטוחה שהבנת למה אני מתכוון?
המגדל מורכב מ100 קוביות (לאו דווקא בגובה 1000, מכיוון שכל קובייה בגודל אחר).
ברור שאם המגדל מורכב מ100 קוביות, והגודל שלהן הוא 1-100, אז יש אופציה אחת בלבד (ולא ריאלית :slight_smile: ) שיהיה מגדל מ100 קוביות.

השאלה היא האם השלבים הם -
1.
יצירת קוביה
ניסיון להכניס אותה למגדל למעלה (כתנאי שהיא גדולה יותר ועם צבע אחר)
במידה ולא נכנסת לזרוק אותה ולהמשיך לקוביה הבאה

או

יצירת N קוביות
מציאת הקוביה המקסימלית והנחה שלה כבסיס המגדל
מציאת הקוביה המקסימלית הבאה אחריה והנחה שלה כמיקום #2 (בהנחה שהצבע שלה שונה, אם לא אז להעיף אותה)
חוזר חלילה

לייק 1

הבנתי אותך… האמת שאני פירשתי בצורה הראשונה, אבל בהחלט ייתכן שהתכוונו לפרשנות השנייה. נחכה לתשובה ממישהו שבטוח יותר :woman_shrugging:

2 לייקים

אופציה 1 היא כוונת המשורר

2 לייקים

זה היה (לי) דיי מובן שזאת הכוונה

המספר היחיד מייצג את שטח הבסיס או את הצלע?

אפשרי שגדלי המגדלים יהיו שונים כולם?

הגיוני שבחלק מהמגדלים שמדפיס אין קוביות (0 קוביות)?

  1. אין לדעתי שום מצב שכל ה1000 מגדלים הם שונים. זה נראה לי לא אפשרי סטטיסטית.
  2. אין דבר כזה מגדל שהוא קטן מקוביה 1 לפחות (נגיד מצב שהקובה הראשונה הייתה כזו קטנה שכל האחרות לא יכלו לבוא מעליה.

כולם חייבים להיות זהים?

בתוך ה1000 מגדלים - הגיוני שיהיו מגדלים באותו הגובה. נגיד 6 ו 6.
מתוך ה1000 - האם יכול להיות מצב בו מוגרלים מגדלים שגם הקוביות שלהם זהות – בגדול אין סיבה שלא. ההסתברות לא גבוה אבל זה אפשרי.

המגדלים ביניהם לא זהים אלא אם הוגרלו להם אותם קוביות בדיוק ואז אולי יהיו לך איזה שניים זהים אבל הם עדין מופעים שונים .

אבל יכול להיות מגדל אחד בגובה שונה. אם אני מגריל בתוך randomize_tower() כל פעם מספר שונה של קוביות.