randomize_tower() - מגריל לך כל פעם מגדל מתוך 100 קוביות. המגדל לא בהכרח בגובה 100 כי הוא מרכיב אותו בהתאם לתנאים מסויימים המצויינים בתרגיל.
מחוץ למחלקה מבקשים ממך לממש 1000 בניות מגדלים. לבדוק את הגובה שלהם, ולבדוק מה הגובה הגבוה ביותר של מגדל שיש לך מתוך כל ה1000.
אז כמו שרשמתי - הגיוני שבתוך ה 1000 האלה יהיו לך שני מגדלים למשל שהם באותו הגובה. וישנה הסתברות מסויימת שיווצרו לך בדיוק שני מגדלים זהים (או יותר) אבל זו הסתברות נמוכה מאוד אבל זה לא אמור לשנות לך כלום לקוד.
erane2201
ב-randomize, כל הקוביות זהות בצלעות?
aviadamar
נו באמת ערן… תקרא את ההוראות זה רשום שם.
2 לייקים
erane2201
זה יכול להתפרש בכמה אופנים.
aviadamar
זה לא.
הפעולה תיצור 𝑁 קוביות שלהן צלע באורך אקראי (עליכם להגריל אורך בין 1 ל־100)
שצבען הוא שחור או לבן (בחרו באקראיות)
גם תחשוב על זה, אם הכל היה זהה מה הייתה המטרה של התרגיל ?
dimaiscool95
הגיוני שהתשובה יצאה לי 10 או 11 תלוי בהרצה
aviadamar
לא. אתה בודק את מספר הקבויות המקסימלי ולא את הגובה של המגדל עצמו שנוצר.
אתה צריך להציג נגיד עבור מגדל של 2 קוביות שאחת מהם בגובה 6 ואחת בגובה 100 - הגובה שלה הוא 106.
ואז מכולן להציג את הגבוה ביותר.
dimaiscool95
“”“צרו בלולאה 1,000 מגדלים ומלאו אותם בקוביות באמצעות המתודה המגרילה.
מהו המגדל הגבוה ביותר שקיבלתם?”"""
לפי ההבנה שלי צריך לבדוק את הגובה של המגדל? לא הבנתי צריך לעשות מכל המגדלים מגדל אחד?או שלחשב את הסכום של המגדל כלומר אם יש במגדל 10 קוביות לחשב את הסכום של כל העשר?
aviadamar
אם זה מגדל של 10 קוביות אז גובה המגדל הוא סכום הגבהים של כל הקוביות
eyalmerav
אם אני מריץ את התוכנה מספר פעמים וכל פעם מקבל גובה שונה זה הגיוני? (כי הכל רנדומלי פה)
או שבהכרח מקבלים תמיד תשובה זהה?
(יש באמת גובה מקסימאלי ואז בוודאות לא הבנתי את התרגיל…)
devorack
הגיוני. כל פעם משהו אחר.
לי כן יצא גובה מאותו סדר גודל כל פעם, אבל לא אותו מספר בדיוק
לייק 1
eyalmerav
בעולם אוטופי ניקח את האפשרות שיש 100 קוביות
בין 100 ל 1 ואפילו הצבעים מתאימים באורח פלא…
בקיצור אם אני לא טועה זה סכום של סדרה חשבונית בין 1 ל 100…
אז המגדל הגבוה ביותר שיכול לצאת הוא 4950…
כמובן שהתוצאות המתקבלות בעולם האמיתי הן פי 10 יותר נמוכות…
האם אני צודק?
לייק 1
devorack
מקווה שכן, כי גם לי יצא דומה לזה!
לייק 1
imimouni
שאלה כי קצת התבלבלתי…
randomize_tower()
מחזיר מגדל או N קוביות?
כלומר איפה מתבצעת הבנייה של המגדל - בתוך המחלקה או מחוץ לה?
orirenick
ממה שאני הבנתי ועשיתי הכל כולל הכל מתבצע בתוך הפונקציה שנמצאת בתוך המחלקה.
כרגע עשיתי שזה יחזיר את האובייקט של המגדל הכי גדול, ולפני זה שפשוט ידפיס את הגובה ואת המגדל שיצא
imimouni
זה פשוט לא מה שאני מבינה מהוראות התרגיל…
להלן:
הוסיפו פעולה נוספת בשם randomize_tower שבוחרת מספר שלם בין 1 ל־100, נקרא לו 𝑁N.
הפעולה תיצור 𝑁 קוביות שלהן צלע באורך אקראי (עליכם להגריל אורך בין 1 ל־100), שצבען הוא שחור או לבן (בחרו באקראיות).
צרו בלולאה 1,000 מגדלים ומלאו אותם בקוביות באמצעות המתודה המגרילה.
מהו המגדל הגבוה ביותר שקיבלתם?
בגלל שכתוב בחלק השני - מלאו אותם בקוביות באמצעות המתודה המגרילה , הבנתי שצריך ליצור פונקציה חדשה איפשהו שעושה את הלולאה ויוצרת 1000 מגדלים וכל פעם משתמשים בN קוביות שהוגרלו בrandomize.tower()
לא בטוחה עד כמה זה קריטי , מה שאני החלטתי לעשות זה-
randomize.tower() - מחזירה N קוביות
עוד פעולה של המחלקה שמוצאת את גובה המגדל
מחוץ למחלקה- לולאה שיוצרת 1000 מגדלים ובדיקה מה המגדל הגבוה ביותר שהתקבל.
מקווה שזה סבבה חח
orirenick
צודק, טעיתי… קראתי את זה בתור “המתודה הרגילה” כלומר מה שיצרנו add