שאלות טכניות הגשה פיצוץ אוכלוסין

  1. האם להפריד את ספרת הביקורת משאר הספרות באמצעות מקף, או פשוט לתת מספר אחד ארוך בלי הפרדה?

  2. יש שני חלקים לשאלה - אני רק רוצה לוודא אם אפשר פשוט להגיש את התוכנית שנכתבה בסעיף ב’ כי היא מכילה את הקוד של סעיף א’.

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

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

תודה!

  1. לא צריך
  2. אם אפשר להוסיף בתחתית הקוד שלך קריאה לפונקציה של סעיף א’ שתעבוד - זה בסדר ואפשר להגיש ככה.
  3. נשמע מוזר, כדאי לבדוק ב-python tutor אם זו בעיה בקוד. אם זה אחרי הרבה שורות אז אולי זו בעיה של ג’ופיטר בכלל.
  4. נשמע מאוד הגיוני - ג’ופיטר והדפסות גדולות לא מתמודדים היטב, ואמורים לבדוק פה המוןןןן מספרים. אל תשכחי לעשות clear cell output לפני הגשה - ומומלץ גם לפני שאת סוגרת את המחברת

בקשר ל3 והשורות הריקות- בדקתי כמובן בטיוטר זה לא קורה לי, אבל שם אני יכולה להריץ עם הקוד שלי גג 23 דוגמאות.

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

זה לא שהוא לא מצליח, זה שג’ופיטר לא מצליחה לעמוד בזה. אם את רוצה להיות בטוחה את יכולה לחלק את הקריאה למקטעים - כל פעם לרוץ על למשל חצי מיליון ת"ז, ואז לעבור לחצי מיליון הבאים

לייק 1

כן בשביל לעשות את זה אצלי אני אצטרך ממש לערוך את הקוד.

תודה רבה אורפז על העזרה שלך :slight_smile:

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

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

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

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

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

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

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

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

לייק 1

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

2 לייקים