שאלה נוספת לגבי התרגיל הזה -
בהנחיות כתוב “אם xxx, הדפיסו …” . האם עלינו ממש להדפיס את הערך המוחזר (להפעיל עליו את print), או שמספיק להחזיר אותו (return) וזה נחשב שהדפסנו?
אני לא יודע מה כוונת המשוררים במקרה הזה, אבל פיזבאז היא אכן בעיה נפוצה ובדר"כ הרעיון הוא ואריאציה על המשחק “שבע בום” אם מישהו זוכר, ובמקרה הזה הפונ’ אמורה להדפיס את המספר או פיז/באז/פיזבאז ולא להחזיר אותו.
אשמח גם לקצת הכוונה, אני לא סגור על איך לכתוב את הפעולת חישוב.
האופרטור הוא %?
והאם אפשר להשוות פעולת חישוב למילה int? במטרה להשוות למספר שלם
ככה - if number % 3 == int:
הסתבכתי לגמרי עם התרגיל הזה
השוואה ל-int היא לא הדרך לבדוק האם מספר הוא שלם או לא.
בנוסף, האופרטור % מחזיר את שארית החלוקה במספר, למשל אם מחלקים 5 ב-4 זה מחזיר 1. בפרט זה תמיד מחזיר מספר שלם גדול או שווה לאפס.
אם אתה רוצה לבדוק האם תוצאת החילוק היא מספר שלם אתה צריך לבדוק האם התוצאה של חילוק ב-/ היא מספר שלם.
לא רוצה להרוס כבר, אני רק ארמוז שאפשר להשתמש באופרטורים החשבוניים שלמדנו בשבוע הראשון כדי לבצע את הבדיקה הזו.
אם אתה מסתבך אתה מוזמן לשלוח לי הודעה בפרטי
אם הוא מתחלק ב3 , אז הגיוני שהוא שייך גם לקבוצה של אלו שמתחלקים ב3 וב5 , נכון ?
אז לא הגיוני לשים את התנאי הזה ראשון !
כי זה יצא נכון , ואחר כך גם התנאי של מתחלק ב3 וב5 יצא נכון , וזה ידפיס לנו פעמיים.
לכן נתחיל כך :
אם הוא מתחלק ב3 וב5 -
תעשה כך וכך.
נשים את התנאי הזה ראשון , כי הוא הכי “ספציפי”.
אחר כך נגיד elif - שזה למעשה else if כלומר - רק אם התנאי הראשון לא מתקיים :
אם הוא מתחלק ב3 תעשה כך וכך
אחר כך נגיד elif - שזה למעשה else if כלומר - רק אם התנאים הללו לא מתקיימים :
אם הוא מתחלק ב5 תעשה כך וכך.
,תבדקי שה input שלך הוא int ,
ב if הראשון כתוב - if reminder == 0 , ב elif הראשון כתוב אותו הדבר, יש פה סתירה לוגית
מה שכתוב בעצם: אם reminder == 0… אלא אם reminder == 0…
דבר נוסף, יש חשיבות לסדר בדיקה שמבצעים.