פרדוקס יום הולדת - צורת הגשה

לפי הבנתי מקריאת ההוראות של התרגיל:

כתבתי פונקציה שמחשבת את הסיכוי ששני אנשים בכיתה של 23 תלמידים יהיו עם אותו יום הולדת, וקראתי לה.

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

אולי רמז לתרגיל

יצרתי גנרטור - זה משהו שגם נכתב כאן בפורום בתור רמז אז כתבתי כאן.

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

האם זה תקין? תודה.

בדרישות התרגיל ביקשו פונקציה שמחזירה את אחוז הכיתות שבהן למשל 23!תלמידים (או יותר נכון n תלמידים) שלפחות שניים מהם עם אותו תאריך לידה, מתוך 10000 כתות. כלומר האחוז הוא עבור סהכ הכתות ולא עבור כל כתה בנפרד

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

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

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

ההגשה עצמה כוללת את:

  1. פונקציה מספר 1
  2. קריאה לפונקציה
  3. פונקציה מספר 2 - פונקציה כמעט זהה לפונקציה מספר 1
אולי רמז לתרגיל

(רק הפעם בתור גיינרטור)

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

אולי רמז לתרגיל
  1. קריאה לפונקציה מספר 2 (בעצם קריאה לגינרטור על ידי לולאת for)

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

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

ואם יש לך פונקציה שבודקת ״כתה״ אז ברור שאת יכולה להשתמש בזה כפונקצית עזר בבדיקה הכללית

האחוז בהן זה קורה, זה הסיכוי שזה יקרה :slight_smile: זאת סתם סמנטיקה אנחנו אומרים אותו דבר.

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

לדעתי אם יש אפשרות לעשות משו גנרי במיוחד בדברים כאלה של 23 או 366 …אז למה לא בעצם (: זה הרבה יותר נקי קריא וגמיש